botmux 2.107.0 → 2.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/README.en.md +17 -14
  2. package/README.md +19 -14
  3. package/dist/adapters/backend/sandbox.d.ts +3 -1
  4. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  5. package/dist/adapters/backend/sandbox.js +19 -3
  6. package/dist/adapters/backend/sandbox.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +16 -1
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/tmux-pipe-backend.d.ts +24 -15
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-pipe-backend.js +75 -43
  13. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  14. package/dist/adapters/cli/genius.d.ts.map +1 -1
  15. package/dist/adapters/cli/genius.js +9 -15
  16. package/dist/adapters/cli/genius.js.map +1 -1
  17. package/dist/adapters/cli/grok.d.ts +73 -0
  18. package/dist/adapters/cli/grok.d.ts.map +1 -0
  19. package/dist/adapters/cli/grok.js +298 -0
  20. package/dist/adapters/cli/grok.js.map +1 -0
  21. package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
  22. package/dist/adapters/cli/oh-my-pi.js +133 -12
  23. package/dist/adapters/cli/oh-my-pi.js.map +1 -1
  24. package/dist/adapters/cli/registry.d.ts +2 -1
  25. package/dist/adapters/cli/registry.d.ts.map +1 -1
  26. package/dist/adapters/cli/registry.js +3 -1
  27. package/dist/adapters/cli/registry.js.map +1 -1
  28. package/dist/adapters/cli/shared-hints.d.ts +8 -4
  29. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  30. package/dist/adapters/cli/shared-hints.js +8 -4
  31. package/dist/adapters/cli/shared-hints.js.map +1 -1
  32. package/dist/adapters/cli/types.d.ts +18 -16
  33. package/dist/adapters/cli/types.d.ts.map +1 -1
  34. package/dist/adapters/hook-installer.d.ts +5 -4
  35. package/dist/adapters/hook-installer.d.ts.map +1 -1
  36. package/dist/adapters/hook-installer.js +42 -0
  37. package/dist/adapters/hook-installer.js.map +1 -1
  38. package/dist/cli/send-dispatch.d.ts +21 -0
  39. package/dist/cli/send-dispatch.d.ts.map +1 -1
  40. package/dist/cli/send-dispatch.js +159 -0
  41. package/dist/cli/send-dispatch.js.map +1 -1
  42. package/dist/cli/session-list-liveness.d.ts +22 -0
  43. package/dist/cli/session-list-liveness.d.ts.map +1 -0
  44. package/dist/cli/session-list-liveness.js +22 -0
  45. package/dist/cli/session-list-liveness.js.map +1 -0
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +182 -33
  48. package/dist/cli.js.map +1 -1
  49. package/dist/core/ask-types.d.ts +4 -0
  50. package/dist/core/ask-types.d.ts.map +1 -1
  51. package/dist/core/ask-types.js +10 -0
  52. package/dist/core/ask-types.js.map +1 -1
  53. package/dist/core/cost-calculator.d.ts.map +1 -1
  54. package/dist/core/cost-calculator.js +35 -13
  55. package/dist/core/cost-calculator.js.map +1 -1
  56. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  57. package/dist/core/dashboard-ipc-server.js +89 -16
  58. package/dist/core/dashboard-ipc-server.js.map +1 -1
  59. package/dist/core/dashboard-rows.d.ts.map +1 -1
  60. package/dist/core/dashboard-rows.js +6 -2
  61. package/dist/core/dashboard-rows.js.map +1 -1
  62. package/dist/core/dashboard-url.d.ts +6 -5
  63. package/dist/core/dashboard-url.d.ts.map +1 -1
  64. package/dist/core/dashboard-url.js +11 -8
  65. package/dist/core/dashboard-url.js.map +1 -1
  66. package/dist/core/maintenance.d.ts +11 -8
  67. package/dist/core/maintenance.d.ts.map +1 -1
  68. package/dist/core/maintenance.js +45 -20
  69. package/dist/core/maintenance.js.map +1 -1
  70. package/dist/core/per-bot-env.d.ts.map +1 -1
  71. package/dist/core/per-bot-env.js +4 -0
  72. package/dist/core/per-bot-env.js.map +1 -1
  73. package/dist/core/session-discovery.d.ts.map +1 -1
  74. package/dist/core/session-discovery.js +4 -0
  75. package/dist/core/session-discovery.js.map +1 -1
  76. package/dist/core/skills/cli-admin-command.d.ts.map +1 -1
  77. package/dist/core/skills/cli-admin-command.js +8 -2
  78. package/dist/core/skills/cli-admin-command.js.map +1 -1
  79. package/dist/core/skills/im-command.d.ts.map +1 -1
  80. package/dist/core/skills/im-command.js +3 -1
  81. package/dist/core/skills/im-command.js.map +1 -1
  82. package/dist/core/skills/sources.d.ts +33 -1
  83. package/dist/core/skills/sources.d.ts.map +1 -1
  84. package/dist/core/skills/sources.js +97 -0
  85. package/dist/core/skills/sources.js.map +1 -1
  86. package/dist/core/skills/types.d.ts +8 -0
  87. package/dist/core/skills/types.d.ts.map +1 -1
  88. package/dist/core/terminal-url.d.ts.map +1 -1
  89. package/dist/core/terminal-url.js +12 -2
  90. package/dist/core/terminal-url.js.map +1 -1
  91. package/dist/core/terminal-write-auth.d.ts +34 -0
  92. package/dist/core/terminal-write-auth.d.ts.map +1 -0
  93. package/dist/core/terminal-write-auth.js +76 -0
  94. package/dist/core/terminal-write-auth.js.map +1 -0
  95. package/dist/core/tmux-recovery.d.ts +11 -0
  96. package/dist/core/tmux-recovery.d.ts.map +1 -0
  97. package/dist/core/tmux-recovery.js +19 -0
  98. package/dist/core/tmux-recovery.js.map +1 -0
  99. package/dist/core/types.d.ts +10 -4
  100. package/dist/core/types.d.ts.map +1 -1
  101. package/dist/core/types.js.map +1 -1
  102. package/dist/core/update-check.d.ts +2 -2
  103. package/dist/core/update-check.js +2 -2
  104. package/dist/core/worker-pool.d.ts +3 -0
  105. package/dist/core/worker-pool.d.ts.map +1 -1
  106. package/dist/core/worker-pool.js +70 -3
  107. package/dist/core/worker-pool.js.map +1 -1
  108. package/dist/daemon.d.ts.map +1 -1
  109. package/dist/daemon.js +15 -8
  110. package/dist/daemon.js.map +1 -1
  111. package/dist/dashboard/auth.d.ts +1 -1
  112. package/dist/dashboard/auth.d.ts.map +1 -1
  113. package/dist/dashboard/auth.js +7 -2
  114. package/dist/dashboard/auth.js.map +1 -1
  115. package/dist/dashboard/bot-payload.d.ts +3 -0
  116. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  117. package/dist/dashboard/bot-payload.js +3 -0
  118. package/dist/dashboard/bot-payload.js.map +1 -1
  119. package/dist/dashboard/connector-api.d.ts.map +1 -1
  120. package/dist/dashboard/connector-api.js +39 -13
  121. package/dist/dashboard/connector-api.js.map +1 -1
  122. package/dist/dashboard/history-senders.d.ts +37 -0
  123. package/dist/dashboard/history-senders.d.ts.map +1 -0
  124. package/dist/dashboard/history-senders.js +60 -0
  125. package/dist/dashboard/history-senders.js.map +1 -0
  126. package/dist/dashboard/roles-batch.d.ts +31 -0
  127. package/dist/dashboard/roles-batch.d.ts.map +1 -0
  128. package/dist/dashboard/roles-batch.js +87 -0
  129. package/dist/dashboard/roles-batch.js.map +1 -0
  130. package/dist/dashboard/settings-card-model.d.ts +4 -2
  131. package/dist/dashboard/settings-card-model.d.ts.map +1 -1
  132. package/dist/dashboard/settings-card-model.js +13 -5
  133. package/dist/dashboard/settings-card-model.js.map +1 -1
  134. package/dist/dashboard/settings-write-applier.d.ts +4 -1
  135. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  136. package/dist/dashboard/settings-write-applier.js +6 -1
  137. package/dist/dashboard/settings-write-applier.js.map +1 -1
  138. package/dist/dashboard/skill-install-request.d.ts +4 -0
  139. package/dist/dashboard/skill-install-request.d.ts.map +1 -1
  140. package/dist/dashboard/skill-install-request.js +11 -1
  141. package/dist/dashboard/skill-install-request.js.map +1 -1
  142. package/dist/dashboard/trigger-api.d.ts +9 -1
  143. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  144. package/dist/dashboard/trigger-api.js +48 -10
  145. package/dist/dashboard/trigger-api.js.map +1 -1
  146. package/dist/dashboard/web/app.d.ts.map +1 -1
  147. package/dist/dashboard/web/app.js +286 -271
  148. package/dist/dashboard/web/app.js.map +1 -1
  149. package/dist/dashboard/web/bot-defaults-page.d.ts +26 -0
  150. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  151. package/dist/dashboard/web/bot-defaults-page.js +1408 -12
  152. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  153. package/dist/dashboard/web/bot-defaults.d.ts +91 -4
  154. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  155. package/dist/dashboard/web/bot-defaults.js +43 -2141
  156. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  157. package/dist/dashboard/web/bot-onboarding.d.ts +6 -1
  158. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  159. package/dist/dashboard/web/bot-onboarding.js +261 -306
  160. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  161. package/dist/dashboard/web/connectors-page.d.ts +4 -0
  162. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  163. package/dist/dashboard/web/connectors-page.js +228 -48
  164. package/dist/dashboard/web/connectors-page.js.map +1 -1
  165. package/dist/dashboard/web/dashboard-api.d.ts +9 -0
  166. package/dist/dashboard/web/dashboard-api.d.ts.map +1 -0
  167. package/dist/dashboard/web/dashboard-api.js +18 -0
  168. package/dist/dashboard/web/dashboard-api.js.map +1 -0
  169. package/dist/dashboard/web/dashboard-components.d.ts +92 -0
  170. package/dist/dashboard/web/dashboard-components.d.ts.map +1 -0
  171. package/dist/dashboard/web/dashboard-components.js +250 -0
  172. package/dist/dashboard/web/dashboard-components.js.map +1 -0
  173. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  174. package/dist/dashboard/web/dashboard-routes.js +30 -183
  175. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  176. package/dist/dashboard/web/floating-scrollbars.d.ts +2 -0
  177. package/dist/dashboard/web/floating-scrollbars.d.ts.map +1 -0
  178. package/dist/dashboard/web/floating-scrollbars.js +264 -0
  179. package/dist/dashboard/web/floating-scrollbars.js.map +1 -0
  180. package/dist/dashboard/web/groups-api.d.ts +36 -0
  181. package/dist/dashboard/web/groups-api.d.ts.map +1 -0
  182. package/dist/dashboard/web/groups-api.js +44 -0
  183. package/dist/dashboard/web/groups-api.js.map +1 -0
  184. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  185. package/dist/dashboard/web/groups-page.js +746 -15
  186. package/dist/dashboard/web/groups-page.js.map +1 -1
  187. package/dist/dashboard/web/groups.d.ts +51 -18
  188. package/dist/dashboard/web/groups.d.ts.map +1 -1
  189. package/dist/dashboard/web/groups.js +145 -1096
  190. package/dist/dashboard/web/groups.js.map +1 -1
  191. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  192. package/dist/dashboard/web/i18n.js +545 -255
  193. package/dist/dashboard/web/i18n.js.map +1 -1
  194. package/dist/dashboard/web/insights-page.d.ts.map +1 -1
  195. package/dist/dashboard/web/insights-page.js +1047 -14
  196. package/dist/dashboard/web/insights-page.js.map +1 -1
  197. package/dist/dashboard/web/insights.d.ts +177 -7
  198. package/dist/dashboard/web/insights.d.ts.map +1 -1
  199. package/dist/dashboard/web/insights.js +187 -1926
  200. package/dist/dashboard/web/insights.js.map +1 -1
  201. package/dist/dashboard/web/legacy-workflow-page.d.ts +3 -0
  202. package/dist/dashboard/web/legacy-workflow-page.d.ts.map +1 -0
  203. package/dist/dashboard/web/legacy-workflow-page.js +717 -0
  204. package/dist/dashboard/web/legacy-workflow-page.js.map +1 -0
  205. package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
  206. package/dist/dashboard/web/monitor-room.js +10 -8
  207. package/dist/dashboard/web/monitor-room.js.map +1 -1
  208. package/dist/dashboard/web/monitoring-page.d.ts.map +1 -1
  209. package/dist/dashboard/web/monitoring-page.js +188 -14
  210. package/dist/dashboard/web/monitoring-page.js.map +1 -1
  211. package/dist/dashboard/web/office-page.d.ts.map +1 -1
  212. package/dist/dashboard/web/office-page.js +11 -23
  213. package/dist/dashboard/web/office-page.js.map +1 -1
  214. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  215. package/dist/dashboard/web/overview-page.js +141 -147
  216. package/dist/dashboard/web/overview-page.js.map +1 -1
  217. package/dist/dashboard/web/overview.d.ts +0 -1
  218. package/dist/dashboard/web/overview.d.ts.map +1 -1
  219. package/dist/dashboard/web/overview.js +3 -275
  220. package/dist/dashboard/web/overview.js.map +1 -1
  221. package/dist/dashboard/web/preferences.d.ts +1 -6
  222. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  223. package/dist/dashboard/web/preferences.js +0 -21
  224. package/dist/dashboard/web/preferences.js.map +1 -1
  225. package/dist/dashboard/web/role-batch.d.ts +9 -0
  226. package/dist/dashboard/web/role-batch.d.ts.map +1 -0
  227. package/dist/dashboard/web/role-batch.js +42 -0
  228. package/dist/dashboard/web/role-batch.js.map +1 -0
  229. package/dist/dashboard/web/roles-page.d.ts.map +1 -1
  230. package/dist/dashboard/web/roles-page.js +538 -13
  231. package/dist/dashboard/web/roles-page.js.map +1 -1
  232. package/dist/dashboard/web/roles.d.ts +98 -1
  233. package/dist/dashboard/web/roles.d.ts.map +1 -1
  234. package/dist/dashboard/web/roles.js +117 -903
  235. package/dist/dashboard/web/roles.js.map +1 -1
  236. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  237. package/dist/dashboard/web/schedules-page.js +82 -24
  238. package/dist/dashboard/web/schedules-page.js.map +1 -1
  239. package/dist/dashboard/web/sessions-kanban.d.ts +67 -0
  240. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -0
  241. package/dist/dashboard/web/sessions-kanban.js +481 -0
  242. package/dist/dashboard/web/sessions-kanban.js.map +1 -0
  243. package/dist/dashboard/web/sessions-page.d.ts +4 -0
  244. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  245. package/dist/dashboard/web/sessions-page.js +1633 -18
  246. package/dist/dashboard/web/sessions-page.js.map +1 -1
  247. package/dist/dashboard/web/sessions.d.ts +45 -4
  248. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  249. package/dist/dashboard/web/sessions.js +53 -2535
  250. package/dist/dashboard/web/sessions.js.map +1 -1
  251. package/dist/dashboard/web/settings-page.d.ts +0 -2
  252. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  253. package/dist/dashboard/web/settings-page.js +127 -117
  254. package/dist/dashboard/web/settings-page.js.map +1 -1
  255. package/dist/dashboard/web/skills-page.d.ts +10 -1
  256. package/dist/dashboard/web/skills-page.d.ts.map +1 -1
  257. package/dist/dashboard/web/skills-page.js +235 -93
  258. package/dist/dashboard/web/skills-page.js.map +1 -1
  259. package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
  260. package/dist/dashboard/web/team-federation-page.js +446 -28
  261. package/dist/dashboard/web/team-federation-page.js.map +1 -1
  262. package/dist/dashboard/web/team-federation.d.ts +91 -2
  263. package/dist/dashboard/web/team-federation.d.ts.map +1 -1
  264. package/dist/dashboard/web/team-federation.js +87 -474
  265. package/dist/dashboard/web/team-federation.js.map +1 -1
  266. package/dist/dashboard/web/theme-menu.d.ts +1 -0
  267. package/dist/dashboard/web/theme-menu.d.ts.map +1 -1
  268. package/dist/dashboard/web/theme-menu.js +79 -20
  269. package/dist/dashboard/web/theme-menu.js.map +1 -1
  270. package/dist/dashboard/web/ui.d.ts +1 -2
  271. package/dist/dashboard/web/ui.d.ts.map +1 -1
  272. package/dist/dashboard/web/ui.js +8 -20
  273. package/dist/dashboard/web/ui.js.map +1 -1
  274. package/dist/dashboard/web/v3-api.d.ts +16 -0
  275. package/dist/dashboard/web/v3-api.d.ts.map +1 -0
  276. package/dist/dashboard/web/v3-api.js +21 -0
  277. package/dist/dashboard/web/v3-api.js.map +1 -0
  278. package/dist/dashboard/web/v3-components.d.ts +2 -0
  279. package/dist/dashboard/web/v3-components.d.ts.map +1 -0
  280. package/dist/dashboard/web/v3-components.js +290 -0
  281. package/dist/dashboard/web/v3-components.js.map +1 -0
  282. package/dist/dashboard/web/v3-model.d.ts +80 -0
  283. package/dist/dashboard/web/v3-model.d.ts.map +1 -0
  284. package/dist/dashboard/web/v3-model.js +240 -0
  285. package/dist/dashboard/web/v3-model.js.map +1 -0
  286. package/dist/dashboard/web/v3-page.d.ts.map +1 -1
  287. package/dist/dashboard/web/v3-page.js +2 -22
  288. package/dist/dashboard/web/v3-page.js.map +1 -1
  289. package/dist/dashboard/web/v3-terminal.d.ts +14 -0
  290. package/dist/dashboard/web/v3-terminal.d.ts.map +1 -1
  291. package/dist/dashboard/web/v3-terminal.js +31 -19
  292. package/dist/dashboard/web/v3-terminal.js.map +1 -1
  293. package/dist/dashboard/web/webhook-logs-page.d.ts +16 -0
  294. package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -0
  295. package/dist/dashboard/web/webhook-logs-page.js +195 -0
  296. package/dist/dashboard/web/webhook-logs-page.js.map +1 -0
  297. package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
  298. package/dist/dashboard/web/whiteboards-page.js +18 -23
  299. package/dist/dashboard/web/whiteboards-page.js.map +1 -1
  300. package/dist/dashboard/web/workflow-version-switch.d.ts +8 -0
  301. package/dist/dashboard/web/workflow-version-switch.d.ts.map +1 -0
  302. package/dist/dashboard/web/workflow-version-switch.js +9 -0
  303. package/dist/dashboard/web/workflow-version-switch.js.map +1 -0
  304. package/dist/dashboard/web/workflows.d.ts +272 -1
  305. package/dist/dashboard/web/workflows.d.ts.map +1 -1
  306. package/dist/dashboard/web/workflows.js +211 -1397
  307. package/dist/dashboard/web/workflows.js.map +1 -1
  308. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  309. package/dist/dashboard/webhook-routes.js +92 -39
  310. package/dist/dashboard/webhook-routes.js.map +1 -1
  311. package/dist/dashboard-web/app.js +1 -65
  312. package/dist/dashboard-web/brand-logo.png +0 -0
  313. package/dist/dashboard-web/chunks/bot-defaults-page-HSQ6HR3R.js +1 -0
  314. package/dist/dashboard-web/chunks/chunk-6TPODDDC.js +1 -0
  315. package/dist/dashboard-web/chunks/chunk-73EJP2MO.js +1 -0
  316. package/dist/dashboard-web/chunks/chunk-BRTZFELS.js +1 -0
  317. package/dist/dashboard-web/chunks/chunk-EVK77ASG.js +1 -0
  318. package/dist/dashboard-web/chunks/chunk-R3FXBFQH.js +1 -0
  319. package/dist/dashboard-web/chunks/chunk-VRLL7SNU.js +1 -0
  320. package/dist/dashboard-web/chunks/chunk-XCPSHD3G.js +37 -0
  321. package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
  322. package/dist/dashboard-web/chunks/chunk-YVRWYGXR.js +1 -0
  323. package/dist/dashboard-web/chunks/chunk-ZJING6FY.js +66 -0
  324. package/dist/dashboard-web/chunks/connectors-page-ODUA5UCW.js +1 -0
  325. package/dist/dashboard-web/chunks/groups-page-OYX5M6NK.js +8 -0
  326. package/dist/dashboard-web/chunks/insights-page-YCQO6OCR.js +22 -0
  327. package/dist/dashboard-web/chunks/legacy-workflow-page-XJAUNONP.js +2 -0
  328. package/dist/dashboard-web/chunks/{monitor-room-RFX4HPS5.js → monitor-room-WTZNYAFV.js} +17 -15
  329. package/dist/dashboard-web/chunks/monitoring-page-R6LJUK7G.js +2 -0
  330. package/dist/dashboard-web/chunks/office-page-4OXK3GNR.js +1 -0
  331. package/dist/dashboard-web/chunks/overview-page-4MVEJY6U.js +1 -0
  332. package/dist/dashboard-web/chunks/roles-page-NQDW27VV.js +1 -0
  333. package/dist/dashboard-web/chunks/schedules-page-JRNKYHOX.js +1 -0
  334. package/dist/dashboard-web/chunks/sessions-page-LF7UVI7B.js +3 -0
  335. package/dist/dashboard-web/chunks/settings-page-WGW7KQQS.js +2 -0
  336. package/dist/dashboard-web/chunks/skills-page-AMD4XP3T.js +3 -0
  337. package/dist/dashboard-web/chunks/team-federation-page-SYG3K4GG.js +1 -0
  338. package/dist/dashboard-web/chunks/v3-page-6NFFWNUK.js +94 -0
  339. package/dist/dashboard-web/chunks/whiteboards-page-FBRUK2AS.js +1 -0
  340. package/dist/dashboard-web/favicon.png +0 -0
  341. package/dist/dashboard-web/index.html +5 -69
  342. package/dist/dashboard-web/style.css +18835 -7211
  343. package/dist/dashboard.js +150 -32
  344. package/dist/dashboard.js.map +1 -1
  345. package/dist/global-config.d.ts +2 -2
  346. package/dist/global-config.d.ts.map +1 -1
  347. package/dist/i18n/en.d.ts.map +1 -1
  348. package/dist/i18n/en.js +3 -0
  349. package/dist/i18n/en.js.map +1 -1
  350. package/dist/i18n/zh.d.ts.map +1 -1
  351. package/dist/i18n/zh.js +3 -0
  352. package/dist/i18n/zh.js.map +1 -1
  353. package/dist/im/lark/card-builder.d.ts +7 -5
  354. package/dist/im/lark/card-builder.d.ts.map +1 -1
  355. package/dist/im/lark/card-builder.js +10 -7
  356. package/dist/im/lark/card-builder.js.map +1 -1
  357. package/dist/im/lark/card-handler.d.ts.map +1 -1
  358. package/dist/im/lark/card-handler.js +25 -1
  359. package/dist/im/lark/card-handler.js.map +1 -1
  360. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  361. package/dist/im/lark/event-dispatcher.js +84 -0
  362. package/dist/im/lark/event-dispatcher.js.map +1 -1
  363. package/dist/platform/binding.d.ts +9 -0
  364. package/dist/platform/binding.d.ts.map +1 -1
  365. package/dist/platform/binding.js +14 -0
  366. package/dist/platform/binding.js.map +1 -1
  367. package/dist/platform/tunnel-client.d.ts.map +1 -1
  368. package/dist/platform/tunnel-client.js +9 -0
  369. package/dist/platform/tunnel-client.js.map +1 -1
  370. package/dist/services/bot-config-store.d.ts +1 -1
  371. package/dist/services/bot-config-store.d.ts.map +1 -1
  372. package/dist/services/bot-config-store.js +11 -5
  373. package/dist/services/bot-config-store.js.map +1 -1
  374. package/dist/services/file-bridge-path.d.ts +8 -0
  375. package/dist/services/file-bridge-path.d.ts.map +1 -0
  376. package/dist/services/file-bridge-path.js +75 -0
  377. package/dist/services/file-bridge-path.js.map +1 -0
  378. package/dist/services/grok-paths.d.ts +27 -0
  379. package/dist/services/grok-paths.d.ts.map +1 -0
  380. package/dist/services/grok-paths.js +106 -0
  381. package/dist/services/grok-paths.js.map +1 -0
  382. package/dist/services/grok-transcript.d.ts +67 -0
  383. package/dist/services/grok-transcript.d.ts.map +1 -0
  384. package/dist/services/grok-transcript.js +630 -0
  385. package/dist/services/grok-transcript.js.map +1 -0
  386. package/dist/services/hermes-session-filter.d.ts +28 -0
  387. package/dist/services/hermes-session-filter.d.ts.map +1 -0
  388. package/dist/services/hermes-session-filter.js +53 -0
  389. package/dist/services/hermes-session-filter.js.map +1 -0
  390. package/dist/services/hermes-transcript.d.ts +3 -0
  391. package/dist/services/hermes-transcript.d.ts.map +1 -1
  392. package/dist/services/hermes-transcript.js +20 -2
  393. package/dist/services/hermes-transcript.js.map +1 -1
  394. package/dist/services/resumable-session-discovery.d.ts +3 -0
  395. package/dist/services/resumable-session-discovery.d.ts.map +1 -1
  396. package/dist/services/resumable-session-discovery.js +6 -1
  397. package/dist/services/resumable-session-discovery.js.map +1 -1
  398. package/dist/services/skill-registry-store.d.ts +9 -0
  399. package/dist/services/skill-registry-store.d.ts.map +1 -1
  400. package/dist/services/skill-registry-store.js +304 -1
  401. package/dist/services/skill-registry-store.js.map +1 -1
  402. package/dist/services/structured-bridge-clis.d.ts +29 -0
  403. package/dist/services/structured-bridge-clis.d.ts.map +1 -0
  404. package/dist/services/structured-bridge-clis.js +76 -0
  405. package/dist/services/structured-bridge-clis.js.map +1 -0
  406. package/dist/services/trigger-log-store.d.ts +59 -0
  407. package/dist/services/trigger-log-store.d.ts.map +1 -1
  408. package/dist/services/trigger-log-store.js +81 -10
  409. package/dist/services/trigger-log-store.js.map +1 -1
  410. package/dist/services/usage-ledger.d.ts +4 -1
  411. package/dist/services/usage-ledger.d.ts.map +1 -1
  412. package/dist/services/usage-ledger.js +48 -10
  413. package/dist/services/usage-ledger.js.map +1 -1
  414. package/dist/services/webhook-audit.d.ts +10 -0
  415. package/dist/services/webhook-audit.d.ts.map +1 -0
  416. package/dist/services/webhook-audit.js +116 -0
  417. package/dist/services/webhook-audit.js.map +1 -0
  418. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  419. package/dist/setup/bot-config-editor.js +2 -0
  420. package/dist/setup/bot-config-editor.js.map +1 -1
  421. package/dist/setup/ensure-tmux.d.ts +26 -12
  422. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  423. package/dist/setup/ensure-tmux.js +85 -18
  424. package/dist/setup/ensure-tmux.js.map +1 -1
  425. package/dist/skills/definitions.d.ts.map +1 -1
  426. package/dist/skills/definitions.js +14 -1
  427. package/dist/skills/definitions.js.map +1 -1
  428. package/dist/skills/injection-mode.d.ts +16 -0
  429. package/dist/skills/injection-mode.d.ts.map +1 -1
  430. package/dist/skills/injection-mode.js +25 -0
  431. package/dist/skills/injection-mode.js.map +1 -1
  432. package/dist/types.d.ts +9 -0
  433. package/dist/types.d.ts.map +1 -1
  434. package/dist/utils/global-install.d.ts +22 -0
  435. package/dist/utils/global-install.d.ts.map +1 -0
  436. package/dist/utils/global-install.js +106 -0
  437. package/dist/utils/global-install.js.map +1 -0
  438. package/dist/utils/install-diagnostics.d.ts +1 -1
  439. package/dist/utils/install-diagnostics.d.ts.map +1 -1
  440. package/dist/utils/install-diagnostics.js +6 -4
  441. package/dist/utils/install-diagnostics.js.map +1 -1
  442. package/dist/utils/install-info.d.ts +2 -0
  443. package/dist/utils/install-info.d.ts.map +1 -1
  444. package/dist/utils/install-info.js +10 -4
  445. package/dist/utils/install-info.js.map +1 -1
  446. package/dist/worker.js +293 -172
  447. package/dist/worker.js.map +1 -1
  448. package/dist/workflows/events/payloads.d.ts +10 -10
  449. package/dist/workflows/events/schema.d.ts +28 -28
  450. package/package.json +8 -7
  451. package/dist/dashboard/web/connectors.d.ts +0 -2
  452. package/dist/dashboard/web/connectors.d.ts.map +0 -1
  453. package/dist/dashboard/web/connectors.js +0 -2
  454. package/dist/dashboard/web/connectors.js.map +0 -1
  455. package/dist/dashboard/web/office.d.ts +0 -2
  456. package/dist/dashboard/web/office.d.ts.map +0 -1
  457. package/dist/dashboard/web/office.js +0 -2
  458. package/dist/dashboard/web/office.js.map +0 -1
  459. package/dist/dashboard/web/schedules.d.ts +0 -2
  460. package/dist/dashboard/web/schedules.d.ts.map +0 -1
  461. package/dist/dashboard/web/schedules.js +0 -2
  462. package/dist/dashboard/web/schedules.js.map +0 -1
  463. package/dist/dashboard/web/settings.d.ts +0 -2
  464. package/dist/dashboard/web/settings.d.ts.map +0 -1
  465. package/dist/dashboard/web/settings.js +0 -2
  466. package/dist/dashboard/web/settings.js.map +0 -1
  467. package/dist/dashboard/web/skills.d.ts +0 -2
  468. package/dist/dashboard/web/skills.d.ts.map +0 -1
  469. package/dist/dashboard/web/skills.js +0 -2
  470. package/dist/dashboard/web/skills.js.map +0 -1
  471. package/dist/dashboard/web/skin-intro.d.ts +0 -4
  472. package/dist/dashboard/web/skin-intro.d.ts.map +0 -1
  473. package/dist/dashboard/web/skin-intro.js +0 -49
  474. package/dist/dashboard/web/skin-intro.js.map +0 -1
  475. package/dist/dashboard/web/v3.d.ts +0 -3
  476. package/dist/dashboard/web/v3.d.ts.map +0 -1
  477. package/dist/dashboard/web/v3.js +0 -539
  478. package/dist/dashboard/web/v3.js.map +0 -1
  479. package/dist/dashboard/web/whiteboards.d.ts +0 -2
  480. package/dist/dashboard/web/whiteboards.d.ts.map +0 -1
  481. package/dist/dashboard/web/whiteboards.js +0 -2
  482. package/dist/dashboard/web/whiteboards.js.map +0 -1
  483. package/dist/dashboard-web/chunks/bot-defaults-page-OCIHPGEU.js +0 -438
  484. package/dist/dashboard-web/chunks/chunk-3N2PPQVD.js +0 -1
  485. package/dist/dashboard-web/chunks/chunk-3UJYRR2Q.js +0 -37
  486. package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +0 -1
  487. package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
  488. package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +0 -54
  489. package/dist/dashboard-web/chunks/chunk-LXIK7OUJ.js +0 -1
  490. package/dist/dashboard-web/chunks/chunk-PE6W3C2C.js +0 -1
  491. package/dist/dashboard-web/chunks/chunk-QW54DWU3.js +0 -325
  492. package/dist/dashboard-web/chunks/connectors-IGETYWCP.js +0 -1
  493. package/dist/dashboard-web/chunks/groups-page-MYBS4ZYJ.js +0 -207
  494. package/dist/dashboard-web/chunks/insights-page-UPA32V2S.js +0 -309
  495. package/dist/dashboard-web/chunks/monitoring-page-7T3BESZ2.js +0 -1
  496. package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +0 -1
  497. package/dist/dashboard-web/chunks/overview-page-LJSBCQW4.js +0 -1
  498. package/dist/dashboard-web/chunks/roles-page-ESURTVQH.js +0 -98
  499. package/dist/dashboard-web/chunks/schedules-LML2ISOT.js +0 -1
  500. package/dist/dashboard-web/chunks/sessions-YB73XOTU.js +0 -1
  501. package/dist/dashboard-web/chunks/sessions-page-MCO5QR7Z.js +0 -1
  502. package/dist/dashboard-web/chunks/settings-page-OSDKNVS3.js +0 -2
  503. package/dist/dashboard-web/chunks/skills-page-PXBZJ6P6.js +0 -2
  504. package/dist/dashboard-web/chunks/team-federation-page-TTPVHFPX.js +0 -10
  505. package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +0 -149
  506. package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +0 -1
  507. package/dist/dashboard-web/chunks/workflows-FCPM4S4D.js +0 -184
  508. package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
  509. package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
  510. package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
  511. package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
  512. package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
  513. package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
  514. package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
  515. package/dist/dashboard-web/skins/zzz-pattern.svg +0 -25
@@ -1,309 +0,0 @@
1
- import{b as bn}from"./chunk-PE6W3C2C.js";import"./chunk-LXIK7OUJ.js";import{o as d,p as l,q as Lu,t as fn,v as fe}from"./chunk-3UJYRR2Q.js";import{a as Xs,b as pn,c as hn}from"./chunk-JTSE5VP6.js";import{b as eu,c as Iu}from"./chunk-7SZRL6FY.js";var Su=Iu(Xs(),1);var ju={};eu(ju,{arrayReplaceAt:()=>Ou,assign:()=>Fe,escapeHtml:()=>ie,escapeRE:()=>L0,fromCodePoint:()=>Oe,has:()=>E0,isMdAsciiPunct:()=>_e,isPunctChar:()=>ke,isSpace:()=>I,isString:()=>fu,isValidEntityCode:()=>pu,isWhiteSpace:()=>ve,lib:()=>R0,normalizeReference:()=>ye,unescapeAll:()=>re,unescapeMd:()=>D0});var ru={};eu(ru,{decode:()=>Ne,encode:()=>nu,format:()=>De,parse:()=>ze});var mn={};function Ks(e){let u=mn[e];if(u)return u;u=mn[e]=[];for(let t=0;t<128;t++){let s=String.fromCharCode(t);u.push(s)}for(let t=0;t<e.length;t++){let s=e.charCodeAt(t);u[s]="%"+("0"+s.toString(16).toUpperCase()).slice(-2)}return u}function uu(e,u){typeof u!="string"&&(u=uu.defaultChars);let t=Ks(u);return e.replace(/(%[a-f0-9]{2})+/gi,function(s){let n="";for(let r=0,a=s.length;r<a;r+=3){let o=parseInt(s.slice(r+1,r+3),16);if(o<128){n+=t[o];continue}if((o&224)===192&&r+3<a){let i=parseInt(s.slice(r+4,r+6),16);if((i&192)===128){let c=o<<6&1984|i&63;c<128?n+="\uFFFD\uFFFD":n+=String.fromCharCode(c),r+=3;continue}}if((o&240)===224&&r+6<a){let i=parseInt(s.slice(r+4,r+6),16),c=parseInt(s.slice(r+7,r+9),16);if((i&192)===128&&(c&192)===128){let f=o<<12&61440|i<<6&4032|c&63;f<2048||f>=55296&&f<=57343?n+="\uFFFD\uFFFD\uFFFD":n+=String.fromCharCode(f),r+=6;continue}}if((o&248)===240&&r+9<a){let i=parseInt(s.slice(r+4,r+6),16),c=parseInt(s.slice(r+7,r+9),16),f=parseInt(s.slice(r+10,r+12),16);if((i&192)===128&&(c&192)===128&&(f&192)===128){let p=o<<18&1835008|i<<12&258048|c<<6&4032|f&63;p<65536||p>1114111?n+="\uFFFD\uFFFD\uFFFD\uFFFD":(p-=65536,n+=String.fromCharCode(55296+(p>>10),56320+(p&1023))),r+=9;continue}}n+="\uFFFD"}return n})}uu.defaultChars=";/?:@&=+$,#";uu.componentChars="";var Ne=uu;var gn={};function Qs(e){let u=gn[e];if(u)return u;u=gn[e]=[];for(let t=0;t<128;t++){let s=String.fromCharCode(t);/^[0-9a-z]$/i.test(s)?u.push(s):u.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}for(let t=0;t<e.length;t++)u[e.charCodeAt(t)]=e[t];return u}function tu(e,u,t){typeof u!="string"&&(t=u,u=tu.defaultChars),typeof t>"u"&&(t=!0);let s=Qs(u),n="";for(let r=0,a=e.length;r<a;r++){let o=e.charCodeAt(r);if(t&&o===37&&r+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(r+1,r+3))){n+=e.slice(r,r+3),r+=2;continue}if(o<128){n+=s[o];continue}if(o>=55296&&o<=57343){if(o>=55296&&o<=56319&&r+1<a){let i=e.charCodeAt(r+1);if(i>=56320&&i<=57343){n+=encodeURIComponent(e[r]+e[r+1]),r++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(e[r])}return n}tu.defaultChars=";/?:@&=+$,-_.!~*'()#";tu.componentChars="-_.!~*'()";var nu=tu;function De(e){let u="";return u+=e.protocol||"",u+=e.slashes?"//":"",u+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?u+="["+e.hostname+"]":u+=e.hostname||"",u+=e.port?":"+e.port:"",u+=e.pathname||"",u+=e.search||"",u+=e.hash||"",u}function su(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var e0=/^([a-z0-9.+-]+:)/i,u0=/:[0-9]*$/,t0=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,n0=["<",">",'"',"`"," ","\r",`
2
- `," "],s0=["{","}","|","\\","^","`"].concat(n0),r0=["'"].concat(s0),xn=["%","/","?",";","#"].concat(r0),vn=["/","?","#"],i0=255,kn=/^[+a-z0-9A-Z_-]{0,63}$/,o0=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,_n={javascript:!0,"javascript:":!0},yn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function a0(e,u){if(e&&e instanceof su)return e;let t=new su;return t.parse(e,u),t}su.prototype.parse=function(e,u){let t,s,n,r=e;if(r=r.trim(),!u&&e.split("#").length===1){let c=t0.exec(r);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let a=e0.exec(r);if(a&&(a=a[0],t=a.toLowerCase(),this.protocol=a,r=r.substr(a.length)),(u||a||r.match(/^\/\/[^@\/]+@[^@\/]+/))&&(n=r.substr(0,2)==="//",n&&!(a&&_n[a])&&(r=r.substr(2),this.slashes=!0)),!_n[a]&&(n||a&&!yn[a])){let c=-1;for(let h=0;h<vn.length;h++)s=r.indexOf(vn[h]),s!==-1&&(c===-1||s<c)&&(c=s);let f,p;c===-1?p=r.lastIndexOf("@"):p=r.lastIndexOf("@",c),p!==-1&&(f=r.slice(0,p),r=r.slice(p+1),this.auth=f),c=-1;for(let h=0;h<xn.length;h++)s=r.indexOf(xn[h]),s!==-1&&(c===-1||s<c)&&(c=s);c===-1&&(c=r.length),r[c-1]===":"&&c--;let g=r.slice(0,c);r=r.slice(c),this.parseHost(g),this.hostname=this.hostname||"";let b=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!b){let h=this.hostname.split(/\./);for(let C=0,v=h.length;C<v;C++){let k=h[C];if(k&&!k.match(kn)){let y="";for(let S=0,x=k.length;S<x;S++)k.charCodeAt(S)>127?y+="x":y+=k[S];if(!y.match(kn)){let S=h.slice(0,C),x=h.slice(C+1),E=k.match(o0);E&&(S.push(E[1]),x.unshift(E[2])),x.length&&(r=x.join(".")+r),this.hostname=S.join(".");break}}}}this.hostname.length>i0&&(this.hostname=""),b&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let o=r.indexOf("#");o!==-1&&(this.hash=r.substr(o),r=r.slice(0,o));let i=r.indexOf("?");return i!==-1&&(this.search=r.substr(i),r=r.slice(0,i)),r&&(this.pathname=r),yn[t]&&this.hostname&&!this.pathname&&(this.pathname=""),this};su.prototype.parseHost=function(e){let u=u0.exec(e);u&&(u=u[0],u!==":"&&(this.port=u.substr(1)),e=e.substr(0,e.length-u.length)),e&&(this.hostname=e)};var ze=a0;var Ru={};eu(Ru,{Any:()=>iu,Cc:()=>ou,Cf:()=>En,P:()=>Ae,S:()=>au,Z:()=>cu});var iu=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var ou=/[\0-\x1F\x7F-\x9F]/;var En=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;var Ae=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;var au=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;var cu=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var Sn=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)));var $n=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(e=>e.charCodeAt(0)));var qu,c0=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Bu=(qu=String.fromCodePoint)!==null&&qu!==void 0?qu:function(e){let u="";return e>65535&&(e-=65536,u+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),u+=String.fromCharCode(e),u};function Hu(e){var u;return e>=55296&&e<=57343||e>1114111?65533:(u=c0.get(e))!==null&&u!==void 0?u:e}var U;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(U||(U={}));var l0=32,pe;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(pe||(pe={}));function Pu(e){return e>=U.ZERO&&e<=U.NINE}function d0(e){return e>=U.UPPER_A&&e<=U.UPPER_F||e>=U.LOWER_A&&e<=U.LOWER_F}function f0(e){return e>=U.UPPER_A&&e<=U.UPPER_Z||e>=U.LOWER_A&&e<=U.LOWER_Z||Pu(e)}function p0(e){return e===U.EQUALS||f0(e)}var j;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(j||(j={}));var ue;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(ue||(ue={}));var lu=class{constructor(u,t,s){this.decodeTree=u,this.emitCodePoint=t,this.errors=s,this.state=j.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=ue.Strict}startEntity(u){this.decodeMode=u,this.state=j.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(u,t){switch(this.state){case j.EntityStart:return u.charCodeAt(t)===U.NUM?(this.state=j.NumericStart,this.consumed+=1,this.stateNumericStart(u,t+1)):(this.state=j.NamedEntity,this.stateNamedEntity(u,t));case j.NumericStart:return this.stateNumericStart(u,t);case j.NumericDecimal:return this.stateNumericDecimal(u,t);case j.NumericHex:return this.stateNumericHex(u,t);case j.NamedEntity:return this.stateNamedEntity(u,t)}}stateNumericStart(u,t){return t>=u.length?-1:(u.charCodeAt(t)|l0)===U.LOWER_X?(this.state=j.NumericHex,this.consumed+=1,this.stateNumericHex(u,t+1)):(this.state=j.NumericDecimal,this.stateNumericDecimal(u,t))}addToNumericResult(u,t,s,n){if(t!==s){let r=s-t;this.result=this.result*Math.pow(n,r)+parseInt(u.substr(t,r),n),this.consumed+=r}}stateNumericHex(u,t){let s=t;for(;t<u.length;){let n=u.charCodeAt(t);if(Pu(n)||d0(n))t+=1;else return this.addToNumericResult(u,s,t,16),this.emitNumericEntity(n,3)}return this.addToNumericResult(u,s,t,16),-1}stateNumericDecimal(u,t){let s=t;for(;t<u.length;){let n=u.charCodeAt(t);if(Pu(n))t+=1;else return this.addToNumericResult(u,s,t,10),this.emitNumericEntity(n,2)}return this.addToNumericResult(u,s,t,10),-1}emitNumericEntity(u,t){var s;if(this.consumed<=t)return(s=this.errors)===null||s===void 0||s.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(u===U.SEMI)this.consumed+=1;else if(this.decodeMode===ue.Strict)return 0;return this.emitCodePoint(Hu(this.result),this.consumed),this.errors&&(u!==U.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(u,t){let{decodeTree:s}=this,n=s[this.treeIndex],r=(n&pe.VALUE_LENGTH)>>14;for(;t<u.length;t++,this.excess++){let a=u.charCodeAt(t);if(this.treeIndex=h0(s,n,this.treeIndex+Math.max(1,r),a),this.treeIndex<0)return this.result===0||this.decodeMode===ue.Attribute&&(r===0||p0(a))?0:this.emitNotTerminatedNamedEntity();if(n=s[this.treeIndex],r=(n&pe.VALUE_LENGTH)>>14,r!==0){if(a===U.SEMI)return this.emitNamedEntityData(this.treeIndex,r,this.consumed+this.excess);this.decodeMode!==ue.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var u;let{result:t,decodeTree:s}=this,n=(s[t]&pe.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,n,this.consumed),(u=this.errors)===null||u===void 0||u.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(u,t,s){let{decodeTree:n}=this;return this.emitCodePoint(t===1?n[u]&~pe.VALUE_LENGTH:n[u+1],s),t===3&&this.emitCodePoint(n[u+2],s),s}end(){var u;switch(this.state){case j.NamedEntity:return this.result!==0&&(this.decodeMode!==ue.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case j.NumericDecimal:return this.emitNumericEntity(0,2);case j.NumericHex:return this.emitNumericEntity(0,3);case j.NumericStart:return(u=this.errors)===null||u===void 0||u.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case j.EntityStart:return 0}}};function wn(e){let u="",t=new lu(e,s=>u+=Bu(s));return function(n,r){let a=0,o=0;for(;(o=n.indexOf("&",o))>=0;){u+=n.slice(a,o),t.startEntity(r);let c=t.write(n,o+1);if(c<0){a=o+t.end();break}a=o+c,o=c===0?a+1:a}let i=u+n.slice(a);return u="",i}}function h0(e,u,t,s){let n=(u&pe.BRANCH_LENGTH)>>7,r=u&pe.JUMP_TABLE;if(n===0)return r!==0&&s===r?t:-1;if(r){let i=s-r;return i<0||i>=n?-1:e[t+i]-1}let a=t,o=a+n-1;for(;a<=o;){let i=a+o>>>1,c=e[i];if(c<s)a=i+1;else if(c>s)o=i-1;else return e[i+n]}return-1}var b0=wn(Sn),vo=wn($n);function he(e,u=ue.Legacy){return b0(e,u)}function du(e){for(let u=1;u<e.length;u++)e[u][0]+=e[u-1][0]+1;return e}var m0=new Map(du([[9,"&Tab;"],[0,"&NewLine;"],[22,"&excl;"],[0,"&quot;"],[0,"&num;"],[0,"&dollar;"],[0,"&percnt;"],[0,"&amp;"],[0,"&apos;"],[0,"&lpar;"],[0,"&rpar;"],[0,"&ast;"],[0,"&plus;"],[0,"&comma;"],[1,"&period;"],[0,"&sol;"],[10,"&colon;"],[0,"&semi;"],[0,{v:"&lt;",n:8402,o:"&nvlt;"}],[0,{v:"&equals;",n:8421,o:"&bne;"}],[0,{v:"&gt;",n:8402,o:"&nvgt;"}],[0,"&quest;"],[0,"&commat;"],[26,"&lbrack;"],[0,"&bsol;"],[0,"&rbrack;"],[0,"&Hat;"],[0,"&lowbar;"],[0,"&DiacriticalGrave;"],[5,{n:106,o:"&fjlig;"}],[20,"&lbrace;"],[0,"&verbar;"],[0,"&rbrace;"],[34,"&nbsp;"],[0,"&iexcl;"],[0,"&cent;"],[0,"&pound;"],[0,"&curren;"],[0,"&yen;"],[0,"&brvbar;"],[0,"&sect;"],[0,"&die;"],[0,"&copy;"],[0,"&ordf;"],[0,"&laquo;"],[0,"&not;"],[0,"&shy;"],[0,"&circledR;"],[0,"&macr;"],[0,"&deg;"],[0,"&PlusMinus;"],[0,"&sup2;"],[0,"&sup3;"],[0,"&acute;"],[0,"&micro;"],[0,"&para;"],[0,"&centerdot;"],[0,"&cedil;"],[0,"&sup1;"],[0,"&ordm;"],[0,"&raquo;"],[0,"&frac14;"],[0,"&frac12;"],[0,"&frac34;"],[0,"&iquest;"],[0,"&Agrave;"],[0,"&Aacute;"],[0,"&Acirc;"],[0,"&Atilde;"],[0,"&Auml;"],[0,"&angst;"],[0,"&AElig;"],[0,"&Ccedil;"],[0,"&Egrave;"],[0,"&Eacute;"],[0,"&Ecirc;"],[0,"&Euml;"],[0,"&Igrave;"],[0,"&Iacute;"],[0,"&Icirc;"],[0,"&Iuml;"],[0,"&ETH;"],[0,"&Ntilde;"],[0,"&Ograve;"],[0,"&Oacute;"],[0,"&Ocirc;"],[0,"&Otilde;"],[0,"&Ouml;"],[0,"&times;"],[0,"&Oslash;"],[0,"&Ugrave;"],[0,"&Uacute;"],[0,"&Ucirc;"],[0,"&Uuml;"],[0,"&Yacute;"],[0,"&THORN;"],[0,"&szlig;"],[0,"&agrave;"],[0,"&aacute;"],[0,"&acirc;"],[0,"&atilde;"],[0,"&auml;"],[0,"&aring;"],[0,"&aelig;"],[0,"&ccedil;"],[0,"&egrave;"],[0,"&eacute;"],[0,"&ecirc;"],[0,"&euml;"],[0,"&igrave;"],[0,"&iacute;"],[0,"&icirc;"],[0,"&iuml;"],[0,"&eth;"],[0,"&ntilde;"],[0,"&ograve;"],[0,"&oacute;"],[0,"&ocirc;"],[0,"&otilde;"],[0,"&ouml;"],[0,"&div;"],[0,"&oslash;"],[0,"&ugrave;"],[0,"&uacute;"],[0,"&ucirc;"],[0,"&uuml;"],[0,"&yacute;"],[0,"&thorn;"],[0,"&yuml;"],[0,"&Amacr;"],[0,"&amacr;"],[0,"&Abreve;"],[0,"&abreve;"],[0,"&Aogon;"],[0,"&aogon;"],[0,"&Cacute;"],[0,"&cacute;"],[0,"&Ccirc;"],[0,"&ccirc;"],[0,"&Cdot;"],[0,"&cdot;"],[0,"&Ccaron;"],[0,"&ccaron;"],[0,"&Dcaron;"],[0,"&dcaron;"],[0,"&Dstrok;"],[0,"&dstrok;"],[0,"&Emacr;"],[0,"&emacr;"],[2,"&Edot;"],[0,"&edot;"],[0,"&Eogon;"],[0,"&eogon;"],[0,"&Ecaron;"],[0,"&ecaron;"],[0,"&Gcirc;"],[0,"&gcirc;"],[0,"&Gbreve;"],[0,"&gbreve;"],[0,"&Gdot;"],[0,"&gdot;"],[0,"&Gcedil;"],[1,"&Hcirc;"],[0,"&hcirc;"],[0,"&Hstrok;"],[0,"&hstrok;"],[0,"&Itilde;"],[0,"&itilde;"],[0,"&Imacr;"],[0,"&imacr;"],[2,"&Iogon;"],[0,"&iogon;"],[0,"&Idot;"],[0,"&imath;"],[0,"&IJlig;"],[0,"&ijlig;"],[0,"&Jcirc;"],[0,"&jcirc;"],[0,"&Kcedil;"],[0,"&kcedil;"],[0,"&kgreen;"],[0,"&Lacute;"],[0,"&lacute;"],[0,"&Lcedil;"],[0,"&lcedil;"],[0,"&Lcaron;"],[0,"&lcaron;"],[0,"&Lmidot;"],[0,"&lmidot;"],[0,"&Lstrok;"],[0,"&lstrok;"],[0,"&Nacute;"],[0,"&nacute;"],[0,"&Ncedil;"],[0,"&ncedil;"],[0,"&Ncaron;"],[0,"&ncaron;"],[0,"&napos;"],[0,"&ENG;"],[0,"&eng;"],[0,"&Omacr;"],[0,"&omacr;"],[2,"&Odblac;"],[0,"&odblac;"],[0,"&OElig;"],[0,"&oelig;"],[0,"&Racute;"],[0,"&racute;"],[0,"&Rcedil;"],[0,"&rcedil;"],[0,"&Rcaron;"],[0,"&rcaron;"],[0,"&Sacute;"],[0,"&sacute;"],[0,"&Scirc;"],[0,"&scirc;"],[0,"&Scedil;"],[0,"&scedil;"],[0,"&Scaron;"],[0,"&scaron;"],[0,"&Tcedil;"],[0,"&tcedil;"],[0,"&Tcaron;"],[0,"&tcaron;"],[0,"&Tstrok;"],[0,"&tstrok;"],[0,"&Utilde;"],[0,"&utilde;"],[0,"&Umacr;"],[0,"&umacr;"],[0,"&Ubreve;"],[0,"&ubreve;"],[0,"&Uring;"],[0,"&uring;"],[0,"&Udblac;"],[0,"&udblac;"],[0,"&Uogon;"],[0,"&uogon;"],[0,"&Wcirc;"],[0,"&wcirc;"],[0,"&Ycirc;"],[0,"&ycirc;"],[0,"&Yuml;"],[0,"&Zacute;"],[0,"&zacute;"],[0,"&Zdot;"],[0,"&zdot;"],[0,"&Zcaron;"],[0,"&zcaron;"],[19,"&fnof;"],[34,"&imped;"],[63,"&gacute;"],[65,"&jmath;"],[142,"&circ;"],[0,"&caron;"],[16,"&breve;"],[0,"&DiacriticalDot;"],[0,"&ring;"],[0,"&ogon;"],[0,"&DiacriticalTilde;"],[0,"&dblac;"],[51,"&DownBreve;"],[127,"&Alpha;"],[0,"&Beta;"],[0,"&Gamma;"],[0,"&Delta;"],[0,"&Epsilon;"],[0,"&Zeta;"],[0,"&Eta;"],[0,"&Theta;"],[0,"&Iota;"],[0,"&Kappa;"],[0,"&Lambda;"],[0,"&Mu;"],[0,"&Nu;"],[0,"&Xi;"],[0,"&Omicron;"],[0,"&Pi;"],[0,"&Rho;"],[1,"&Sigma;"],[0,"&Tau;"],[0,"&Upsilon;"],[0,"&Phi;"],[0,"&Chi;"],[0,"&Psi;"],[0,"&ohm;"],[7,"&alpha;"],[0,"&beta;"],[0,"&gamma;"],[0,"&delta;"],[0,"&epsi;"],[0,"&zeta;"],[0,"&eta;"],[0,"&theta;"],[0,"&iota;"],[0,"&kappa;"],[0,"&lambda;"],[0,"&mu;"],[0,"&nu;"],[0,"&xi;"],[0,"&omicron;"],[0,"&pi;"],[0,"&rho;"],[0,"&sigmaf;"],[0,"&sigma;"],[0,"&tau;"],[0,"&upsi;"],[0,"&phi;"],[0,"&chi;"],[0,"&psi;"],[0,"&omega;"],[7,"&thetasym;"],[0,"&Upsi;"],[2,"&phiv;"],[0,"&piv;"],[5,"&Gammad;"],[0,"&digamma;"],[18,"&kappav;"],[0,"&rhov;"],[3,"&epsiv;"],[0,"&backepsilon;"],[10,"&IOcy;"],[0,"&DJcy;"],[0,"&GJcy;"],[0,"&Jukcy;"],[0,"&DScy;"],[0,"&Iukcy;"],[0,"&YIcy;"],[0,"&Jsercy;"],[0,"&LJcy;"],[0,"&NJcy;"],[0,"&TSHcy;"],[0,"&KJcy;"],[1,"&Ubrcy;"],[0,"&DZcy;"],[0,"&Acy;"],[0,"&Bcy;"],[0,"&Vcy;"],[0,"&Gcy;"],[0,"&Dcy;"],[0,"&IEcy;"],[0,"&ZHcy;"],[0,"&Zcy;"],[0,"&Icy;"],[0,"&Jcy;"],[0,"&Kcy;"],[0,"&Lcy;"],[0,"&Mcy;"],[0,"&Ncy;"],[0,"&Ocy;"],[0,"&Pcy;"],[0,"&Rcy;"],[0,"&Scy;"],[0,"&Tcy;"],[0,"&Ucy;"],[0,"&Fcy;"],[0,"&KHcy;"],[0,"&TScy;"],[0,"&CHcy;"],[0,"&SHcy;"],[0,"&SHCHcy;"],[0,"&HARDcy;"],[0,"&Ycy;"],[0,"&SOFTcy;"],[0,"&Ecy;"],[0,"&YUcy;"],[0,"&YAcy;"],[0,"&acy;"],[0,"&bcy;"],[0,"&vcy;"],[0,"&gcy;"],[0,"&dcy;"],[0,"&iecy;"],[0,"&zhcy;"],[0,"&zcy;"],[0,"&icy;"],[0,"&jcy;"],[0,"&kcy;"],[0,"&lcy;"],[0,"&mcy;"],[0,"&ncy;"],[0,"&ocy;"],[0,"&pcy;"],[0,"&rcy;"],[0,"&scy;"],[0,"&tcy;"],[0,"&ucy;"],[0,"&fcy;"],[0,"&khcy;"],[0,"&tscy;"],[0,"&chcy;"],[0,"&shcy;"],[0,"&shchcy;"],[0,"&hardcy;"],[0,"&ycy;"],[0,"&softcy;"],[0,"&ecy;"],[0,"&yucy;"],[0,"&yacy;"],[1,"&iocy;"],[0,"&djcy;"],[0,"&gjcy;"],[0,"&jukcy;"],[0,"&dscy;"],[0,"&iukcy;"],[0,"&yicy;"],[0,"&jsercy;"],[0,"&ljcy;"],[0,"&njcy;"],[0,"&tshcy;"],[0,"&kjcy;"],[1,"&ubrcy;"],[0,"&dzcy;"],[7074,"&ensp;"],[0,"&emsp;"],[0,"&emsp13;"],[0,"&emsp14;"],[1,"&numsp;"],[0,"&puncsp;"],[0,"&ThinSpace;"],[0,"&hairsp;"],[0,"&NegativeMediumSpace;"],[0,"&zwnj;"],[0,"&zwj;"],[0,"&lrm;"],[0,"&rlm;"],[0,"&dash;"],[2,"&ndash;"],[0,"&mdash;"],[0,"&horbar;"],[0,"&Verbar;"],[1,"&lsquo;"],[0,"&CloseCurlyQuote;"],[0,"&lsquor;"],[1,"&ldquo;"],[0,"&CloseCurlyDoubleQuote;"],[0,"&bdquo;"],[1,"&dagger;"],[0,"&Dagger;"],[0,"&bull;"],[2,"&nldr;"],[0,"&hellip;"],[9,"&permil;"],[0,"&pertenk;"],[0,"&prime;"],[0,"&Prime;"],[0,"&tprime;"],[0,"&backprime;"],[3,"&lsaquo;"],[0,"&rsaquo;"],[3,"&oline;"],[2,"&caret;"],[1,"&hybull;"],[0,"&frasl;"],[10,"&bsemi;"],[7,"&qprime;"],[7,{v:"&MediumSpace;",n:8202,o:"&ThickSpace;"}],[0,"&NoBreak;"],[0,"&af;"],[0,"&InvisibleTimes;"],[0,"&ic;"],[72,"&euro;"],[46,"&tdot;"],[0,"&DotDot;"],[37,"&complexes;"],[2,"&incare;"],[4,"&gscr;"],[0,"&hamilt;"],[0,"&Hfr;"],[0,"&Hopf;"],[0,"&planckh;"],[0,"&hbar;"],[0,"&imagline;"],[0,"&Ifr;"],[0,"&lagran;"],[0,"&ell;"],[1,"&naturals;"],[0,"&numero;"],[0,"&copysr;"],[0,"&weierp;"],[0,"&Popf;"],[0,"&Qopf;"],[0,"&realine;"],[0,"&real;"],[0,"&reals;"],[0,"&rx;"],[3,"&trade;"],[1,"&integers;"],[2,"&mho;"],[0,"&zeetrf;"],[0,"&iiota;"],[2,"&bernou;"],[0,"&Cayleys;"],[1,"&escr;"],[0,"&Escr;"],[0,"&Fouriertrf;"],[1,"&Mellintrf;"],[0,"&order;"],[0,"&alefsym;"],[0,"&beth;"],[0,"&gimel;"],[0,"&daleth;"],[12,"&CapitalDifferentialD;"],[0,"&dd;"],[0,"&ee;"],[0,"&ii;"],[10,"&frac13;"],[0,"&frac23;"],[0,"&frac15;"],[0,"&frac25;"],[0,"&frac35;"],[0,"&frac45;"],[0,"&frac16;"],[0,"&frac56;"],[0,"&frac18;"],[0,"&frac38;"],[0,"&frac58;"],[0,"&frac78;"],[49,"&larr;"],[0,"&ShortUpArrow;"],[0,"&rarr;"],[0,"&darr;"],[0,"&harr;"],[0,"&updownarrow;"],[0,"&nwarr;"],[0,"&nearr;"],[0,"&LowerRightArrow;"],[0,"&LowerLeftArrow;"],[0,"&nlarr;"],[0,"&nrarr;"],[1,{v:"&rarrw;",n:824,o:"&nrarrw;"}],[0,"&Larr;"],[0,"&Uarr;"],[0,"&Rarr;"],[0,"&Darr;"],[0,"&larrtl;"],[0,"&rarrtl;"],[0,"&LeftTeeArrow;"],[0,"&mapstoup;"],[0,"&map;"],[0,"&DownTeeArrow;"],[1,"&hookleftarrow;"],[0,"&hookrightarrow;"],[0,"&larrlp;"],[0,"&looparrowright;"],[0,"&harrw;"],[0,"&nharr;"],[1,"&lsh;"],[0,"&rsh;"],[0,"&ldsh;"],[0,"&rdsh;"],[1,"&crarr;"],[0,"&cularr;"],[0,"&curarr;"],[2,"&circlearrowleft;"],[0,"&circlearrowright;"],[0,"&leftharpoonup;"],[0,"&DownLeftVector;"],[0,"&RightUpVector;"],[0,"&LeftUpVector;"],[0,"&rharu;"],[0,"&DownRightVector;"],[0,"&dharr;"],[0,"&dharl;"],[0,"&RightArrowLeftArrow;"],[0,"&udarr;"],[0,"&LeftArrowRightArrow;"],[0,"&leftleftarrows;"],[0,"&upuparrows;"],[0,"&rightrightarrows;"],[0,"&ddarr;"],[0,"&leftrightharpoons;"],[0,"&Equilibrium;"],[0,"&nlArr;"],[0,"&nhArr;"],[0,"&nrArr;"],[0,"&DoubleLeftArrow;"],[0,"&DoubleUpArrow;"],[0,"&DoubleRightArrow;"],[0,"&dArr;"],[0,"&DoubleLeftRightArrow;"],[0,"&DoubleUpDownArrow;"],[0,"&nwArr;"],[0,"&neArr;"],[0,"&seArr;"],[0,"&swArr;"],[0,"&lAarr;"],[0,"&rAarr;"],[1,"&zigrarr;"],[6,"&larrb;"],[0,"&rarrb;"],[15,"&DownArrowUpArrow;"],[7,"&loarr;"],[0,"&roarr;"],[0,"&hoarr;"],[0,"&forall;"],[0,"&comp;"],[0,{v:"&part;",n:824,o:"&npart;"}],[0,"&exist;"],[0,"&nexist;"],[0,"&empty;"],[1,"&Del;"],[0,"&Element;"],[0,"&NotElement;"],[1,"&ni;"],[0,"&notni;"],[2,"&prod;"],[0,"&coprod;"],[0,"&sum;"],[0,"&minus;"],[0,"&MinusPlus;"],[0,"&dotplus;"],[1,"&Backslash;"],[0,"&lowast;"],[0,"&compfn;"],[1,"&radic;"],[2,"&prop;"],[0,"&infin;"],[0,"&angrt;"],[0,{v:"&ang;",n:8402,o:"&nang;"}],[0,"&angmsd;"],[0,"&angsph;"],[0,"&mid;"],[0,"&nmid;"],[0,"&DoubleVerticalBar;"],[0,"&NotDoubleVerticalBar;"],[0,"&and;"],[0,"&or;"],[0,{v:"&cap;",n:65024,o:"&caps;"}],[0,{v:"&cup;",n:65024,o:"&cups;"}],[0,"&int;"],[0,"&Int;"],[0,"&iiint;"],[0,"&conint;"],[0,"&Conint;"],[0,"&Cconint;"],[0,"&cwint;"],[0,"&ClockwiseContourIntegral;"],[0,"&awconint;"],[0,"&there4;"],[0,"&becaus;"],[0,"&ratio;"],[0,"&Colon;"],[0,"&dotminus;"],[1,"&mDDot;"],[0,"&homtht;"],[0,{v:"&sim;",n:8402,o:"&nvsim;"}],[0,{v:"&backsim;",n:817,o:"&race;"}],[0,{v:"&ac;",n:819,o:"&acE;"}],[0,"&acd;"],[0,"&VerticalTilde;"],[0,"&NotTilde;"],[0,{v:"&eqsim;",n:824,o:"&nesim;"}],[0,"&sime;"],[0,"&NotTildeEqual;"],[0,"&cong;"],[0,"&simne;"],[0,"&ncong;"],[0,"&ap;"],[0,"&nap;"],[0,"&ape;"],[0,{v:"&apid;",n:824,o:"&napid;"}],[0,"&backcong;"],[0,{v:"&asympeq;",n:8402,o:"&nvap;"}],[0,{v:"&bump;",n:824,o:"&nbump;"}],[0,{v:"&bumpe;",n:824,o:"&nbumpe;"}],[0,{v:"&doteq;",n:824,o:"&nedot;"}],[0,"&doteqdot;"],[0,"&efDot;"],[0,"&erDot;"],[0,"&Assign;"],[0,"&ecolon;"],[0,"&ecir;"],[0,"&circeq;"],[1,"&wedgeq;"],[0,"&veeeq;"],[1,"&triangleq;"],[2,"&equest;"],[0,"&ne;"],[0,{v:"&Congruent;",n:8421,o:"&bnequiv;"}],[0,"&nequiv;"],[1,{v:"&le;",n:8402,o:"&nvle;"}],[0,{v:"&ge;",n:8402,o:"&nvge;"}],[0,{v:"&lE;",n:824,o:"&nlE;"}],[0,{v:"&gE;",n:824,o:"&ngE;"}],[0,{v:"&lnE;",n:65024,o:"&lvertneqq;"}],[0,{v:"&gnE;",n:65024,o:"&gvertneqq;"}],[0,{v:"&ll;",n:new Map(du([[824,"&nLtv;"],[7577,"&nLt;"]]))}],[0,{v:"&gg;",n:new Map(du([[824,"&nGtv;"],[7577,"&nGt;"]]))}],[0,"&between;"],[0,"&NotCupCap;"],[0,"&nless;"],[0,"&ngt;"],[0,"&nle;"],[0,"&nge;"],[0,"&lesssim;"],[0,"&GreaterTilde;"],[0,"&nlsim;"],[0,"&ngsim;"],[0,"&LessGreater;"],[0,"&gl;"],[0,"&NotLessGreater;"],[0,"&NotGreaterLess;"],[0,"&pr;"],[0,"&sc;"],[0,"&prcue;"],[0,"&sccue;"],[0,"&PrecedesTilde;"],[0,{v:"&scsim;",n:824,o:"&NotSucceedsTilde;"}],[0,"&NotPrecedes;"],[0,"&NotSucceeds;"],[0,{v:"&sub;",n:8402,o:"&NotSubset;"}],[0,{v:"&sup;",n:8402,o:"&NotSuperset;"}],[0,"&nsub;"],[0,"&nsup;"],[0,"&sube;"],[0,"&supe;"],[0,"&NotSubsetEqual;"],[0,"&NotSupersetEqual;"],[0,{v:"&subne;",n:65024,o:"&varsubsetneq;"}],[0,{v:"&supne;",n:65024,o:"&varsupsetneq;"}],[1,"&cupdot;"],[0,"&UnionPlus;"],[0,{v:"&sqsub;",n:824,o:"&NotSquareSubset;"}],[0,{v:"&sqsup;",n:824,o:"&NotSquareSuperset;"}],[0,"&sqsube;"],[0,"&sqsupe;"],[0,{v:"&sqcap;",n:65024,o:"&sqcaps;"}],[0,{v:"&sqcup;",n:65024,o:"&sqcups;"}],[0,"&CirclePlus;"],[0,"&CircleMinus;"],[0,"&CircleTimes;"],[0,"&osol;"],[0,"&CircleDot;"],[0,"&circledcirc;"],[0,"&circledast;"],[1,"&circleddash;"],[0,"&boxplus;"],[0,"&boxminus;"],[0,"&boxtimes;"],[0,"&dotsquare;"],[0,"&RightTee;"],[0,"&dashv;"],[0,"&DownTee;"],[0,"&bot;"],[1,"&models;"],[0,"&DoubleRightTee;"],[0,"&Vdash;"],[0,"&Vvdash;"],[0,"&VDash;"],[0,"&nvdash;"],[0,"&nvDash;"],[0,"&nVdash;"],[0,"&nVDash;"],[0,"&prurel;"],[1,"&LeftTriangle;"],[0,"&RightTriangle;"],[0,{v:"&LeftTriangleEqual;",n:8402,o:"&nvltrie;"}],[0,{v:"&RightTriangleEqual;",n:8402,o:"&nvrtrie;"}],[0,"&origof;"],[0,"&imof;"],[0,"&multimap;"],[0,"&hercon;"],[0,"&intcal;"],[0,"&veebar;"],[1,"&barvee;"],[0,"&angrtvb;"],[0,"&lrtri;"],[0,"&bigwedge;"],[0,"&bigvee;"],[0,"&bigcap;"],[0,"&bigcup;"],[0,"&diam;"],[0,"&sdot;"],[0,"&sstarf;"],[0,"&divideontimes;"],[0,"&bowtie;"],[0,"&ltimes;"],[0,"&rtimes;"],[0,"&leftthreetimes;"],[0,"&rightthreetimes;"],[0,"&backsimeq;"],[0,"&curlyvee;"],[0,"&curlywedge;"],[0,"&Sub;"],[0,"&Sup;"],[0,"&Cap;"],[0,"&Cup;"],[0,"&fork;"],[0,"&epar;"],[0,"&lessdot;"],[0,"&gtdot;"],[0,{v:"&Ll;",n:824,o:"&nLl;"}],[0,{v:"&Gg;",n:824,o:"&nGg;"}],[0,{v:"&leg;",n:65024,o:"&lesg;"}],[0,{v:"&gel;",n:65024,o:"&gesl;"}],[2,"&cuepr;"],[0,"&cuesc;"],[0,"&NotPrecedesSlantEqual;"],[0,"&NotSucceedsSlantEqual;"],[0,"&NotSquareSubsetEqual;"],[0,"&NotSquareSupersetEqual;"],[2,"&lnsim;"],[0,"&gnsim;"],[0,"&precnsim;"],[0,"&scnsim;"],[0,"&nltri;"],[0,"&NotRightTriangle;"],[0,"&nltrie;"],[0,"&NotRightTriangleEqual;"],[0,"&vellip;"],[0,"&ctdot;"],[0,"&utdot;"],[0,"&dtdot;"],[0,"&disin;"],[0,"&isinsv;"],[0,"&isins;"],[0,{v:"&isindot;",n:824,o:"&notindot;"}],[0,"&notinvc;"],[0,"&notinvb;"],[1,{v:"&isinE;",n:824,o:"&notinE;"}],[0,"&nisd;"],[0,"&xnis;"],[0,"&nis;"],[0,"&notnivc;"],[0,"&notnivb;"],[6,"&barwed;"],[0,"&Barwed;"],[1,"&lceil;"],[0,"&rceil;"],[0,"&LeftFloor;"],[0,"&rfloor;"],[0,"&drcrop;"],[0,"&dlcrop;"],[0,"&urcrop;"],[0,"&ulcrop;"],[0,"&bnot;"],[1,"&profline;"],[0,"&profsurf;"],[1,"&telrec;"],[0,"&target;"],[5,"&ulcorn;"],[0,"&urcorn;"],[0,"&dlcorn;"],[0,"&drcorn;"],[2,"&frown;"],[0,"&smile;"],[9,"&cylcty;"],[0,"&profalar;"],[7,"&topbot;"],[6,"&ovbar;"],[1,"&solbar;"],[60,"&angzarr;"],[51,"&lmoustache;"],[0,"&rmoustache;"],[2,"&OverBracket;"],[0,"&bbrk;"],[0,"&bbrktbrk;"],[37,"&OverParenthesis;"],[0,"&UnderParenthesis;"],[0,"&OverBrace;"],[0,"&UnderBrace;"],[2,"&trpezium;"],[4,"&elinters;"],[59,"&blank;"],[164,"&circledS;"],[55,"&boxh;"],[1,"&boxv;"],[9,"&boxdr;"],[3,"&boxdl;"],[3,"&boxur;"],[3,"&boxul;"],[3,"&boxvr;"],[7,"&boxvl;"],[7,"&boxhd;"],[7,"&boxhu;"],[7,"&boxvh;"],[19,"&boxH;"],[0,"&boxV;"],[0,"&boxdR;"],[0,"&boxDr;"],[0,"&boxDR;"],[0,"&boxdL;"],[0,"&boxDl;"],[0,"&boxDL;"],[0,"&boxuR;"],[0,"&boxUr;"],[0,"&boxUR;"],[0,"&boxuL;"],[0,"&boxUl;"],[0,"&boxUL;"],[0,"&boxvR;"],[0,"&boxVr;"],[0,"&boxVR;"],[0,"&boxvL;"],[0,"&boxVl;"],[0,"&boxVL;"],[0,"&boxHd;"],[0,"&boxhD;"],[0,"&boxHD;"],[0,"&boxHu;"],[0,"&boxhU;"],[0,"&boxHU;"],[0,"&boxvH;"],[0,"&boxVh;"],[0,"&boxVH;"],[19,"&uhblk;"],[3,"&lhblk;"],[3,"&block;"],[8,"&blk14;"],[0,"&blk12;"],[0,"&blk34;"],[13,"&square;"],[8,"&blacksquare;"],[0,"&EmptyVerySmallSquare;"],[1,"&rect;"],[0,"&marker;"],[2,"&fltns;"],[1,"&bigtriangleup;"],[0,"&blacktriangle;"],[0,"&triangle;"],[2,"&blacktriangleright;"],[0,"&rtri;"],[3,"&bigtriangledown;"],[0,"&blacktriangledown;"],[0,"&dtri;"],[2,"&blacktriangleleft;"],[0,"&ltri;"],[6,"&loz;"],[0,"&cir;"],[32,"&tridot;"],[2,"&bigcirc;"],[8,"&ultri;"],[0,"&urtri;"],[0,"&lltri;"],[0,"&EmptySmallSquare;"],[0,"&FilledSmallSquare;"],[8,"&bigstar;"],[0,"&star;"],[7,"&phone;"],[49,"&female;"],[1,"&male;"],[29,"&spades;"],[2,"&clubs;"],[1,"&hearts;"],[0,"&diamondsuit;"],[3,"&sung;"],[2,"&flat;"],[0,"&natural;"],[0,"&sharp;"],[163,"&check;"],[3,"&cross;"],[8,"&malt;"],[21,"&sext;"],[33,"&VerticalSeparator;"],[25,"&lbbrk;"],[0,"&rbbrk;"],[84,"&bsolhsub;"],[0,"&suphsol;"],[28,"&LeftDoubleBracket;"],[0,"&RightDoubleBracket;"],[0,"&lang;"],[0,"&rang;"],[0,"&Lang;"],[0,"&Rang;"],[0,"&loang;"],[0,"&roang;"],[7,"&longleftarrow;"],[0,"&longrightarrow;"],[0,"&longleftrightarrow;"],[0,"&DoubleLongLeftArrow;"],[0,"&DoubleLongRightArrow;"],[0,"&DoubleLongLeftRightArrow;"],[1,"&longmapsto;"],[2,"&dzigrarr;"],[258,"&nvlArr;"],[0,"&nvrArr;"],[0,"&nvHarr;"],[0,"&Map;"],[6,"&lbarr;"],[0,"&bkarow;"],[0,"&lBarr;"],[0,"&dbkarow;"],[0,"&drbkarow;"],[0,"&DDotrahd;"],[0,"&UpArrowBar;"],[0,"&DownArrowBar;"],[2,"&Rarrtl;"],[2,"&latail;"],[0,"&ratail;"],[0,"&lAtail;"],[0,"&rAtail;"],[0,"&larrfs;"],[0,"&rarrfs;"],[0,"&larrbfs;"],[0,"&rarrbfs;"],[2,"&nwarhk;"],[0,"&nearhk;"],[0,"&hksearow;"],[0,"&hkswarow;"],[0,"&nwnear;"],[0,"&nesear;"],[0,"&seswar;"],[0,"&swnwar;"],[8,{v:"&rarrc;",n:824,o:"&nrarrc;"}],[1,"&cudarrr;"],[0,"&ldca;"],[0,"&rdca;"],[0,"&cudarrl;"],[0,"&larrpl;"],[2,"&curarrm;"],[0,"&cularrp;"],[7,"&rarrpl;"],[2,"&harrcir;"],[0,"&Uarrocir;"],[0,"&lurdshar;"],[0,"&ldrushar;"],[2,"&LeftRightVector;"],[0,"&RightUpDownVector;"],[0,"&DownLeftRightVector;"],[0,"&LeftUpDownVector;"],[0,"&LeftVectorBar;"],[0,"&RightVectorBar;"],[0,"&RightUpVectorBar;"],[0,"&RightDownVectorBar;"],[0,"&DownLeftVectorBar;"],[0,"&DownRightVectorBar;"],[0,"&LeftUpVectorBar;"],[0,"&LeftDownVectorBar;"],[0,"&LeftTeeVector;"],[0,"&RightTeeVector;"],[0,"&RightUpTeeVector;"],[0,"&RightDownTeeVector;"],[0,"&DownLeftTeeVector;"],[0,"&DownRightTeeVector;"],[0,"&LeftUpTeeVector;"],[0,"&LeftDownTeeVector;"],[0,"&lHar;"],[0,"&uHar;"],[0,"&rHar;"],[0,"&dHar;"],[0,"&luruhar;"],[0,"&ldrdhar;"],[0,"&ruluhar;"],[0,"&rdldhar;"],[0,"&lharul;"],[0,"&llhard;"],[0,"&rharul;"],[0,"&lrhard;"],[0,"&udhar;"],[0,"&duhar;"],[0,"&RoundImplies;"],[0,"&erarr;"],[0,"&simrarr;"],[0,"&larrsim;"],[0,"&rarrsim;"],[0,"&rarrap;"],[0,"&ltlarr;"],[1,"&gtrarr;"],[0,"&subrarr;"],[1,"&suplarr;"],[0,"&lfisht;"],[0,"&rfisht;"],[0,"&ufisht;"],[0,"&dfisht;"],[5,"&lopar;"],[0,"&ropar;"],[4,"&lbrke;"],[0,"&rbrke;"],[0,"&lbrkslu;"],[0,"&rbrksld;"],[0,"&lbrksld;"],[0,"&rbrkslu;"],[0,"&langd;"],[0,"&rangd;"],[0,"&lparlt;"],[0,"&rpargt;"],[0,"&gtlPar;"],[0,"&ltrPar;"],[3,"&vzigzag;"],[1,"&vangrt;"],[0,"&angrtvbd;"],[6,"&ange;"],[0,"&range;"],[0,"&dwangle;"],[0,"&uwangle;"],[0,"&angmsdaa;"],[0,"&angmsdab;"],[0,"&angmsdac;"],[0,"&angmsdad;"],[0,"&angmsdae;"],[0,"&angmsdaf;"],[0,"&angmsdag;"],[0,"&angmsdah;"],[0,"&bemptyv;"],[0,"&demptyv;"],[0,"&cemptyv;"],[0,"&raemptyv;"],[0,"&laemptyv;"],[0,"&ohbar;"],[0,"&omid;"],[0,"&opar;"],[1,"&operp;"],[1,"&olcross;"],[0,"&odsold;"],[1,"&olcir;"],[0,"&ofcir;"],[0,"&olt;"],[0,"&ogt;"],[0,"&cirscir;"],[0,"&cirE;"],[0,"&solb;"],[0,"&bsolb;"],[3,"&boxbox;"],[3,"&trisb;"],[0,"&rtriltri;"],[0,{v:"&LeftTriangleBar;",n:824,o:"&NotLeftTriangleBar;"}],[0,{v:"&RightTriangleBar;",n:824,o:"&NotRightTriangleBar;"}],[11,"&iinfin;"],[0,"&infintie;"],[0,"&nvinfin;"],[4,"&eparsl;"],[0,"&smeparsl;"],[0,"&eqvparsl;"],[5,"&blacklozenge;"],[8,"&RuleDelayed;"],[1,"&dsol;"],[9,"&bigodot;"],[0,"&bigoplus;"],[0,"&bigotimes;"],[1,"&biguplus;"],[1,"&bigsqcup;"],[5,"&iiiint;"],[0,"&fpartint;"],[2,"&cirfnint;"],[0,"&awint;"],[0,"&rppolint;"],[0,"&scpolint;"],[0,"&npolint;"],[0,"&pointint;"],[0,"&quatint;"],[0,"&intlarhk;"],[10,"&pluscir;"],[0,"&plusacir;"],[0,"&simplus;"],[0,"&plusdu;"],[0,"&plussim;"],[0,"&plustwo;"],[1,"&mcomma;"],[0,"&minusdu;"],[2,"&loplus;"],[0,"&roplus;"],[0,"&Cross;"],[0,"&timesd;"],[0,"&timesbar;"],[1,"&smashp;"],[0,"&lotimes;"],[0,"&rotimes;"],[0,"&otimesas;"],[0,"&Otimes;"],[0,"&odiv;"],[0,"&triplus;"],[0,"&triminus;"],[0,"&tritime;"],[0,"&intprod;"],[2,"&amalg;"],[0,"&capdot;"],[1,"&ncup;"],[0,"&ncap;"],[0,"&capand;"],[0,"&cupor;"],[0,"&cupcap;"],[0,"&capcup;"],[0,"&cupbrcap;"],[0,"&capbrcup;"],[0,"&cupcup;"],[0,"&capcap;"],[0,"&ccups;"],[0,"&ccaps;"],[2,"&ccupssm;"],[2,"&And;"],[0,"&Or;"],[0,"&andand;"],[0,"&oror;"],[0,"&orslope;"],[0,"&andslope;"],[1,"&andv;"],[0,"&orv;"],[0,"&andd;"],[0,"&ord;"],[1,"&wedbar;"],[6,"&sdote;"],[3,"&simdot;"],[2,{v:"&congdot;",n:824,o:"&ncongdot;"}],[0,"&easter;"],[0,"&apacir;"],[0,{v:"&apE;",n:824,o:"&napE;"}],[0,"&eplus;"],[0,"&pluse;"],[0,"&Esim;"],[0,"&Colone;"],[0,"&Equal;"],[1,"&ddotseq;"],[0,"&equivDD;"],[0,"&ltcir;"],[0,"&gtcir;"],[0,"&ltquest;"],[0,"&gtquest;"],[0,{v:"&leqslant;",n:824,o:"&nleqslant;"}],[0,{v:"&geqslant;",n:824,o:"&ngeqslant;"}],[0,"&lesdot;"],[0,"&gesdot;"],[0,"&lesdoto;"],[0,"&gesdoto;"],[0,"&lesdotor;"],[0,"&gesdotol;"],[0,"&lap;"],[0,"&gap;"],[0,"&lne;"],[0,"&gne;"],[0,"&lnap;"],[0,"&gnap;"],[0,"&lEg;"],[0,"&gEl;"],[0,"&lsime;"],[0,"&gsime;"],[0,"&lsimg;"],[0,"&gsiml;"],[0,"&lgE;"],[0,"&glE;"],[0,"&lesges;"],[0,"&gesles;"],[0,"&els;"],[0,"&egs;"],[0,"&elsdot;"],[0,"&egsdot;"],[0,"&el;"],[0,"&eg;"],[2,"&siml;"],[0,"&simg;"],[0,"&simlE;"],[0,"&simgE;"],[0,{v:"&LessLess;",n:824,o:"&NotNestedLessLess;"}],[0,{v:"&GreaterGreater;",n:824,o:"&NotNestedGreaterGreater;"}],[1,"&glj;"],[0,"&gla;"],[0,"&ltcc;"],[0,"&gtcc;"],[0,"&lescc;"],[0,"&gescc;"],[0,"&smt;"],[0,"&lat;"],[0,{v:"&smte;",n:65024,o:"&smtes;"}],[0,{v:"&late;",n:65024,o:"&lates;"}],[0,"&bumpE;"],[0,{v:"&PrecedesEqual;",n:824,o:"&NotPrecedesEqual;"}],[0,{v:"&sce;",n:824,o:"&NotSucceedsEqual;"}],[2,"&prE;"],[0,"&scE;"],[0,"&precneqq;"],[0,"&scnE;"],[0,"&prap;"],[0,"&scap;"],[0,"&precnapprox;"],[0,"&scnap;"],[0,"&Pr;"],[0,"&Sc;"],[0,"&subdot;"],[0,"&supdot;"],[0,"&subplus;"],[0,"&supplus;"],[0,"&submult;"],[0,"&supmult;"],[0,"&subedot;"],[0,"&supedot;"],[0,{v:"&subE;",n:824,o:"&nsubE;"}],[0,{v:"&supE;",n:824,o:"&nsupE;"}],[0,"&subsim;"],[0,"&supsim;"],[2,{v:"&subnE;",n:65024,o:"&varsubsetneqq;"}],[0,{v:"&supnE;",n:65024,o:"&varsupsetneqq;"}],[2,"&csub;"],[0,"&csup;"],[0,"&csube;"],[0,"&csupe;"],[0,"&subsup;"],[0,"&supsub;"],[0,"&subsub;"],[0,"&supsup;"],[0,"&suphsub;"],[0,"&supdsub;"],[0,"&forkv;"],[0,"&topfork;"],[0,"&mlcp;"],[8,"&Dashv;"],[1,"&Vdashl;"],[0,"&Barv;"],[0,"&vBar;"],[0,"&vBarv;"],[1,"&Vbar;"],[0,"&Not;"],[0,"&bNot;"],[0,"&rnmid;"],[0,"&cirmid;"],[0,"&midcir;"],[0,"&topcir;"],[0,"&nhpar;"],[0,"&parsim;"],[9,{v:"&parsl;",n:8421,o:"&nparsl;"}],[44343,{n:new Map(du([[56476,"&Ascr;"],[1,"&Cscr;"],[0,"&Dscr;"],[2,"&Gscr;"],[2,"&Jscr;"],[0,"&Kscr;"],[2,"&Nscr;"],[0,"&Oscr;"],[0,"&Pscr;"],[0,"&Qscr;"],[1,"&Sscr;"],[0,"&Tscr;"],[0,"&Uscr;"],[0,"&Vscr;"],[0,"&Wscr;"],[0,"&Xscr;"],[0,"&Yscr;"],[0,"&Zscr;"],[0,"&ascr;"],[0,"&bscr;"],[0,"&cscr;"],[0,"&dscr;"],[1,"&fscr;"],[1,"&hscr;"],[0,"&iscr;"],[0,"&jscr;"],[0,"&kscr;"],[0,"&lscr;"],[0,"&mscr;"],[0,"&nscr;"],[1,"&pscr;"],[0,"&qscr;"],[0,"&rscr;"],[0,"&sscr;"],[0,"&tscr;"],[0,"&uscr;"],[0,"&vscr;"],[0,"&wscr;"],[0,"&xscr;"],[0,"&yscr;"],[0,"&zscr;"],[52,"&Afr;"],[0,"&Bfr;"],[1,"&Dfr;"],[0,"&Efr;"],[0,"&Ffr;"],[0,"&Gfr;"],[2,"&Jfr;"],[0,"&Kfr;"],[0,"&Lfr;"],[0,"&Mfr;"],[0,"&Nfr;"],[0,"&Ofr;"],[0,"&Pfr;"],[0,"&Qfr;"],[1,"&Sfr;"],[0,"&Tfr;"],[0,"&Ufr;"],[0,"&Vfr;"],[0,"&Wfr;"],[0,"&Xfr;"],[0,"&Yfr;"],[1,"&afr;"],[0,"&bfr;"],[0,"&cfr;"],[0,"&dfr;"],[0,"&efr;"],[0,"&ffr;"],[0,"&gfr;"],[0,"&hfr;"],[0,"&ifr;"],[0,"&jfr;"],[0,"&kfr;"],[0,"&lfr;"],[0,"&mfr;"],[0,"&nfr;"],[0,"&ofr;"],[0,"&pfr;"],[0,"&qfr;"],[0,"&rfr;"],[0,"&sfr;"],[0,"&tfr;"],[0,"&ufr;"],[0,"&vfr;"],[0,"&wfr;"],[0,"&xfr;"],[0,"&yfr;"],[0,"&zfr;"],[0,"&Aopf;"],[0,"&Bopf;"],[1,"&Dopf;"],[0,"&Eopf;"],[0,"&Fopf;"],[0,"&Gopf;"],[1,"&Iopf;"],[0,"&Jopf;"],[0,"&Kopf;"],[0,"&Lopf;"],[0,"&Mopf;"],[1,"&Oopf;"],[3,"&Sopf;"],[0,"&Topf;"],[0,"&Uopf;"],[0,"&Vopf;"],[0,"&Wopf;"],[0,"&Xopf;"],[0,"&Yopf;"],[1,"&aopf;"],[0,"&bopf;"],[0,"&copf;"],[0,"&dopf;"],[0,"&eopf;"],[0,"&fopf;"],[0,"&gopf;"],[0,"&hopf;"],[0,"&iopf;"],[0,"&jopf;"],[0,"&kopf;"],[0,"&lopf;"],[0,"&mopf;"],[0,"&nopf;"],[0,"&oopf;"],[0,"&popf;"],[0,"&qopf;"],[0,"&ropf;"],[0,"&sopf;"],[0,"&topf;"],[0,"&uopf;"],[0,"&vopf;"],[0,"&wopf;"],[0,"&xopf;"],[0,"&yopf;"],[0,"&zopf;"]]))}],[8906,"&fflig;"],[0,"&filig;"],[0,"&fllig;"],[0,"&ffilig;"],[0,"&ffllig;"]]));var g0=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),x0=String.prototype.codePointAt!=null?(e,u)=>e.codePointAt(u):(e,u)=>(e.charCodeAt(u)&64512)===55296?(e.charCodeAt(u)-55296)*1024+e.charCodeAt(u+1)-56320+65536:e.charCodeAt(u);function Nu(e,u){return function(s){let n,r=0,a="";for(;n=e.exec(s);)r!==n.index&&(a+=s.substring(r,n.index)),a+=u.get(n[0].charCodeAt(0)),r=n.index+1;return a+s.substring(r)}}var Cn=Nu(/[&<>'"]/g,g0),Dn=Nu(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),An=Nu(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));var Fn;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(Fn||(Fn={}));var Tn;(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(Tn||(Tn={}));function _0(e){return Object.prototype.toString.call(e)}function fu(e){return _0(e)==="[object String]"}var y0=Object.prototype.hasOwnProperty;function E0(e,u){return y0.call(e,u)}function Fe(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(typeof t!="object")throw new TypeError(t+"must be object");Object.keys(t).forEach(function(s){e[s]=t[s]})}}),e}function Ou(e,u,t){return[].concat(e.slice(0,u),t,e.slice(u+1))}function pu(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function Oe(e){if(e>65535){e-=65536;let u=55296+(e>>10),t=56320+(e&1023);return String.fromCharCode(u,t)}return String.fromCharCode(e)}var Ln=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,S0=/&([a-z#][a-z0-9]{1,31});/gi,$0=new RegExp(Ln.source+"|"+S0.source,"gi"),w0=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function C0(e,u){if(u.charCodeAt(0)===35&&w0.test(u)){let s=u[1].toLowerCase()==="x"?parseInt(u.slice(2),16):parseInt(u.slice(1),10);return pu(s)?Oe(s):e}let t=he(e);return t!==e?t:e}function D0(e){return e.indexOf("\\")<0?e:e.replace(Ln,"$1")}function re(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace($0,function(u,t,s){return t||C0(u,s)})}var A0=/[&<>"]/,F0=/[&<>"]/g,T0={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function M0(e){return T0[e]}function ie(e){return A0.test(e)?e.replace(F0,M0):e}var I0=/[.?*+^$[\]\\(){}|-]/g;function L0(e){return e.replace(I0,"\\$&")}function I(e){switch(e){case 9:case 32:return!0}return!1}function ve(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function ke(e){return Ae.test(e)||au.test(e)}function _e(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function ye(e){return e=e.trim().replace(/\s+/g," "),"\u1E9E".toLowerCase()==="\u1E7E"&&(e=e.replace(/ẞ/g,"\xDF")),e.toLowerCase().toUpperCase()}var R0={mdurl:ru,ucmicro:Ru};var Zu={};eu(Zu,{parseLinkDestination:()=>Vu,parseLinkLabel:()=>Uu,parseLinkTitle:()=>Gu});function Uu(e,u,t){let s,n,r,a,o=e.posMax,i=e.pos;for(e.pos=u+1,s=1;e.pos<o;){if(r=e.src.charCodeAt(e.pos),r===93&&(s--,s===0)){n=!0;break}if(a=e.pos,e.md.inline.skipToken(e),r===91){if(a===e.pos-1)s++;else if(t)return e.pos=i,-1}}let c=-1;return n&&(c=e.pos),e.pos=i,c}function Vu(e,u,t){let s,n=u,r={ok:!1,pos:0,str:""};if(e.charCodeAt(n)===60){for(n++;n<t;){if(s=e.charCodeAt(n),s===10||s===60)return r;if(s===62)return r.pos=n+1,r.str=re(e.slice(u+1,n)),r.ok=!0,r;if(s===92&&n+1<t){n+=2;continue}n++}return r}let a=0;for(;n<t&&(s=e.charCodeAt(n),!(s===32||s<32||s===127));){if(s===92&&n+1<t){if(e.charCodeAt(n+1)===32)break;n+=2;continue}if(s===40&&(a++,a>32))return r;if(s===41){if(a===0)break;a--}n++}return u===n||a!==0||(r.str=re(e.slice(u,n)),r.pos=n,r.ok=!0),r}function Gu(e,u,t,s){let n,r=u,a={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(s)a.str=s.str,a.marker=s.marker;else{if(r>=t)return a;let o=e.charCodeAt(r);if(o!==34&&o!==39&&o!==40)return a;u++,r++,o===40&&(o=41),a.marker=o}for(;r<t;){if(n=e.charCodeAt(r),n===a.marker)return a.pos=r+1,a.str+=re(e.slice(u,r)),a.ok=!0,a;if(n===40&&a.marker===41)return a;n===92&&r+1<t&&r++,r++}return a.can_continue=!0,a.str+=re(e.slice(u,r)),a}var te={};te.code_inline=function(e,u,t,s,n){let r=e[u];return"<code"+n.renderAttrs(r)+">"+ie(r.content)+"</code>"};te.code_block=function(e,u,t,s,n){let r=e[u];return"<pre"+n.renderAttrs(r)+"><code>"+ie(e[u].content)+`</code></pre>
3
- `};te.fence=function(e,u,t,s,n){let r=e[u],a=r.info?re(r.info).trim():"",o="",i="";if(a){let f=a.split(/(\s+)/g);o=f[0],i=f.slice(2).join("")}let c;if(t.highlight?c=t.highlight(r.content,o,i)||ie(r.content):c=ie(r.content),c.indexOf("<pre")===0)return c+`
4
- `;if(a){let f=r.attrIndex("class"),p=r.attrs?r.attrs.slice():[];f<0?p.push(["class",t.langPrefix+o]):(p[f]=p[f].slice(),p[f][1]+=" "+t.langPrefix+o);let g={attrs:p};return`<pre><code${n.renderAttrs(g)}>${c}</code></pre>
5
- `}return`<pre><code${n.renderAttrs(r)}>${c}</code></pre>
6
- `};te.image=function(e,u,t,s,n){let r=e[u];return r.attrs[r.attrIndex("alt")][1]=n.renderInlineAsText(r.children,t,s),n.renderToken(e,u,t)};te.hardbreak=function(e,u,t){return t.xhtmlOut?`<br />
7
- `:`<br>
8
- `};te.softbreak=function(e,u,t){return t.breaks?t.xhtmlOut?`<br />
9
- `:`<br>
10
- `:`
11
- `};te.text=function(e,u){return ie(e[u].content)};te.html_block=function(e,u){return e[u].content};te.html_inline=function(e,u){return e[u].content};function Te(){this.rules=Fe({},te)}Te.prototype.renderAttrs=function(u){let t,s,n;if(!u.attrs)return"";for(n="",t=0,s=u.attrs.length;t<s;t++)n+=" "+ie(u.attrs[t][0])+'="'+ie(u.attrs[t][1])+'"';return n};Te.prototype.renderToken=function(u,t,s){let n=u[t],r="";if(n.hidden)return"";n.block&&n.nesting!==-1&&t&&u[t-1].hidden&&(r+=`
12
- `),r+=(n.nesting===-1?"</":"<")+n.tag,r+=this.renderAttrs(n),n.nesting===0&&s.xhtmlOut&&(r+=" /");let a=!1;if(n.block&&(a=!0,n.nesting===1&&t+1<u.length)){let o=u[t+1];(o.type==="inline"||o.hidden||o.nesting===-1&&o.tag===n.tag)&&(a=!1)}return r+=a?`>
13
- `:">",r};Te.prototype.renderInline=function(e,u,t){let s="",n=this.rules;for(let r=0,a=e.length;r<a;r++){let o=e[r].type;typeof n[o]<"u"?s+=n[o](e,r,u,t,this):s+=this.renderToken(e,r,u)}return s};Te.prototype.renderInlineAsText=function(e,u,t){let s="";for(let n=0,r=e.length;n<r;n++)switch(e[n].type){case"text":s+=e[n].content;break;case"image":s+=this.renderInlineAsText(e[n].children,u,t);break;case"html_inline":case"html_block":s+=e[n].content;break;case"softbreak":case"hardbreak":s+=`
14
- `;break;default:}return s};Te.prototype.render=function(e,u,t){let s="",n=this.rules;for(let r=0,a=e.length;r<a;r++){let o=e[r].type;o==="inline"?s+=this.renderInline(e[r].children,u,t):typeof n[o]<"u"?s+=n[o](e,r,u,t,this):s+=this.renderToken(e,r,u,t)}return s};var Rn=Te;function Q(){this.__rules__=[],this.__cache__=null}Q.prototype.__find__=function(e){for(let u=0;u<this.__rules__.length;u++)if(this.__rules__[u].name===e)return u;return-1};Q.prototype.__compile__=function(){let e=this,u=[""];e.__rules__.forEach(function(t){t.enabled&&t.alt.forEach(function(s){u.indexOf(s)<0&&u.push(s)})}),e.__cache__={},u.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(s){s.enabled&&(t&&s.alt.indexOf(t)<0||e.__cache__[t].push(s.fn))})})};Q.prototype.at=function(e,u,t){let s=this.__find__(e),n=t||{};if(s===-1)throw new Error("Parser rule not found: "+e);this.__rules__[s].fn=u,this.__rules__[s].alt=n.alt||[],this.__cache__=null};Q.prototype.before=function(e,u,t,s){let n=this.__find__(e),r=s||{};if(n===-1)throw new Error("Parser rule not found: "+e);this.__rules__.splice(n,0,{name:u,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null};Q.prototype.after=function(e,u,t,s){let n=this.__find__(e),r=s||{};if(n===-1)throw new Error("Parser rule not found: "+e);this.__rules__.splice(n+1,0,{name:u,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null};Q.prototype.push=function(e,u,t){let s=t||{};this.__rules__.push({name:e,enabled:!0,fn:u,alt:s.alt||[]}),this.__cache__=null};Q.prototype.enable=function(e,u){Array.isArray(e)||(e=[e]);let t=[];return e.forEach(function(s){let n=this.__find__(s);if(n<0){if(u)return;throw new Error("Rules manager: invalid rule name "+s)}this.__rules__[n].enabled=!0,t.push(s)},this),this.__cache__=null,t};Q.prototype.enableOnly=function(e,u){Array.isArray(e)||(e=[e]),this.__rules__.forEach(function(t){t.enabled=!1}),this.enable(e,u)};Q.prototype.disable=function(e,u){Array.isArray(e)||(e=[e]);let t=[];return e.forEach(function(s){let n=this.__find__(s);if(n<0){if(u)return;throw new Error("Rules manager: invalid rule name "+s)}this.__rules__[n].enabled=!1,t.push(s)},this),this.__cache__=null,t};Q.prototype.getRules=function(e){return this.__cache__===null&&this.__compile__(),this.__cache__[e]||[]};var Ee=Q;function Me(e,u,t){this.type=e,this.tag=u,this.attrs=null,this.map=null,this.nesting=t,this.level=0,this.children=null,this.content="",this.markup="",this.info="",this.meta=null,this.block=!1,this.hidden=!1}Me.prototype.attrIndex=function(u){if(!this.attrs)return-1;let t=this.attrs;for(let s=0,n=t.length;s<n;s++)if(t[s][0]===u)return s;return-1};Me.prototype.attrPush=function(u){this.attrs?this.attrs.push(u):this.attrs=[u]};Me.prototype.attrSet=function(u,t){let s=this.attrIndex(u),n=[u,t];s<0?this.attrPush(n):this.attrs[s]=n};Me.prototype.attrGet=function(u){let t=this.attrIndex(u),s=null;return t>=0&&(s=this.attrs[t][1]),s};Me.prototype.attrJoin=function(u,t){let s=this.attrIndex(u);s<0?this.attrPush([u,t]):this.attrs[s][1]=this.attrs[s][1]+" "+t};var oe=Me;function qn(e,u,t){this.src=e,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=u}qn.prototype.Token=oe;var Bn=qn;var q0=/\r\n?|\n/g,B0=/\0/g;function Wu(e){let u;u=e.src.replace(q0,`
15
- `),u=u.replace(B0,"\uFFFD"),e.src=u}function Yu(e){let u;e.inlineMode?(u=new e.Token("inline","",0),u.content=e.src,u.map=[0,1],u.children=[],e.tokens.push(u)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function Ju(e){let u=e.tokens;for(let t=0,s=u.length;t<s;t++){let n=u[t];n.type==="inline"&&e.md.inline.parse(n.content,e.md,e.env,n.children)}}function H0(e){return/^<a[>\s]/i.test(e)}function P0(e){return/^<\/a\s*>/i.test(e)}function Xu(e){let u=e.tokens;if(e.md.options.linkify)for(let t=0,s=u.length;t<s;t++){if(u[t].type!=="inline"||!e.md.linkify.pretest(u[t].content))continue;let n=u[t].children,r=0;for(let a=n.length-1;a>=0;a--){let o=n[a];if(o.type==="link_close"){for(a--;n[a].level!==o.level&&n[a].type!=="link_open";)a--;continue}if(o.type==="html_inline"&&(H0(o.content)&&r>0&&r--,P0(o.content)&&r++),!(r>0)&&o.type==="text"&&e.md.linkify.test(o.content)){let i=o.content,c=e.md.linkify.match(i),f=[],p=o.level,g=0;c.length>0&&c[0].index===0&&a>0&&n[a-1].type==="text_special"&&(c=c.slice(1));for(let b=0;b<c.length;b++){let h=c[b].url,C=e.md.normalizeLink(h);if(!e.md.validateLink(C))continue;let v=c[b].text;c[b].schema?c[b].schema==="mailto:"&&!/^mailto:/i.test(v)?v=e.md.normalizeLinkText("mailto:"+v).replace(/^mailto:/,""):v=e.md.normalizeLinkText(v):v=e.md.normalizeLinkText("http://"+v).replace(/^http:\/\//,"");let k=c[b].index;if(k>g){let E=new e.Token("text","",0);E.content=i.slice(g,k),E.level=p,f.push(E)}let y=new e.Token("link_open","a",1);y.attrs=[["href",C]],y.level=p++,y.markup="linkify",y.info="auto",f.push(y);let S=new e.Token("text","",0);S.content=v,S.level=p,f.push(S);let x=new e.Token("link_close","a",-1);x.level=--p,x.markup="linkify",x.info="auto",f.push(x),g=c[b].lastIndex}if(g<i.length){let b=new e.Token("text","",0);b.content=i.slice(g),b.level=p,f.push(b)}u[t].children=n=Ou(n,a,f)}}}}var Hn=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,N0=/\((c|tm|r)\)/i,z0=/\((c|tm|r)\)/ig,O0={c:"\xA9",r:"\xAE",tm:"\u2122"};function j0(e,u){return O0[u.toLowerCase()]}function U0(e){let u=0;for(let t=e.length-1;t>=0;t--){let s=e[t];s.type==="text"&&!u&&(s.content=s.content.replace(z0,j0)),s.type==="link_open"&&s.info==="auto"&&u--,s.type==="link_close"&&s.info==="auto"&&u++}}function V0(e){let u=0;for(let t=e.length-1;t>=0;t--){let s=e[t];s.type==="text"&&!u&&Hn.test(s.content)&&(s.content=s.content.replace(/\+-/g,"\xB1").replace(/\.{2,}/g,"\u2026").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1\u2014").replace(/(^|\s)--(?=\s|$)/mg,"$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1\u2013")),s.type==="link_open"&&s.info==="auto"&&u--,s.type==="link_close"&&s.info==="auto"&&u++}}function Ku(e){let u;if(e.md.options.typographer)for(u=e.tokens.length-1;u>=0;u--)e.tokens[u].type==="inline"&&(N0.test(e.tokens[u].content)&&U0(e.tokens[u].children),Hn.test(e.tokens[u].content)&&V0(e.tokens[u].children))}var G0=/['"]/,Pn=/['"]/g,Nn="\u2019";function hu(e,u,t){return e.slice(0,u)+t+e.slice(u+1)}function Z0(e,u){let t,s=[];for(let n=0;n<e.length;n++){let r=e[n],a=e[n].level;for(t=s.length-1;t>=0&&!(s[t].level<=a);t--);if(s.length=t+1,r.type!=="text")continue;let o=r.content,i=0,c=o.length;e:for(;i<c;){Pn.lastIndex=i;let f=Pn.exec(o);if(!f)break;let p=!0,g=!0;i=f.index+1;let b=f[0]==="'",h=32;if(f.index-1>=0)h=o.charCodeAt(f.index-1);else for(t=n-1;t>=0&&!(e[t].type==="softbreak"||e[t].type==="hardbreak");t--)if(e[t].content){h=e[t].content.charCodeAt(e[t].content.length-1);break}let C=32;if(i<c)C=o.charCodeAt(i);else for(t=n+1;t<e.length&&!(e[t].type==="softbreak"||e[t].type==="hardbreak");t++)if(e[t].content){C=e[t].content.charCodeAt(0);break}let v=_e(h)||ke(String.fromCharCode(h)),k=_e(C)||ke(String.fromCharCode(C)),y=ve(h),S=ve(C);if(S?p=!1:k&&(y||v||(p=!1)),y?g=!1:v&&(S||k||(g=!1)),C===34&&f[0]==='"'&&h>=48&&h<=57&&(g=p=!1),p&&g&&(p=v,g=k),!p&&!g){b&&(r.content=hu(r.content,f.index,Nn));continue}if(g)for(t=s.length-1;t>=0;t--){let x=s[t];if(s[t].level<a)break;if(x.single===b&&s[t].level===a){x=s[t];let E,D;b?(E=u.md.options.quotes[2],D=u.md.options.quotes[3]):(E=u.md.options.quotes[0],D=u.md.options.quotes[1]),r.content=hu(r.content,f.index,D),e[x.token].content=hu(e[x.token].content,x.pos,E),i+=D.length-1,x.token===n&&(i+=E.length-1),o=r.content,c=o.length,s.length=t;continue e}}p?s.push({token:n,pos:f.index,single:b,level:a}):g&&b&&(r.content=hu(r.content,f.index,Nn))}}}function Qu(e){if(e.md.options.typographer)for(let u=e.tokens.length-1;u>=0;u--)e.tokens[u].type!=="inline"||!G0.test(e.tokens[u].content)||Z0(e.tokens[u].children,e)}function et(e){let u,t,s=e.tokens,n=s.length;for(let r=0;r<n;r++){if(s[r].type!=="inline")continue;let a=s[r].children,o=a.length;for(u=0;u<o;u++)a[u].type==="text_special"&&(a[u].type="text");for(u=t=0;u<o;u++)a[u].type==="text"&&u+1<o&&a[u+1].type==="text"?a[u+1].content=a[u].content+a[u+1].content:(u!==t&&(a[t]=a[u]),t++);u!==t&&(a.length=t)}}var ut=[["normalize",Wu],["block",Yu],["inline",Ju],["linkify",Xu],["replacements",Ku],["smartquotes",Qu],["text_join",et]];function tt(){this.ruler=new Ee;for(let e=0;e<ut.length;e++)this.ruler.push(ut[e][0],ut[e][1])}tt.prototype.process=function(e){let u=this.ruler.getRules("");for(let t=0,s=u.length;t<s;t++)u[t](e)};tt.prototype.State=Bn;var zn=tt;function ne(e,u,t,s){this.src=e,this.md=u,this.env=t,this.tokens=s,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType="root",this.level=0;let n=this.src;for(let r=0,a=0,o=0,i=0,c=n.length,f=!1;a<c;a++){let p=n.charCodeAt(a);if(!f)if(I(p)){o++,p===9?i+=4-i%4:i++;continue}else f=!0;(p===10||a===c-1)&&(p!==10&&a++,this.bMarks.push(r),this.eMarks.push(a),this.tShift.push(o),this.sCount.push(i),this.bsCount.push(0),f=!1,o=0,i=0,r=a+1)}this.bMarks.push(n.length),this.eMarks.push(n.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}ne.prototype.push=function(e,u,t){let s=new oe(e,u,t);return s.block=!0,t<0&&this.level--,s.level=this.level,t>0&&this.level++,this.tokens.push(s),s};ne.prototype.isEmpty=function(u){return this.bMarks[u]+this.tShift[u]>=this.eMarks[u]};ne.prototype.skipEmptyLines=function(u){for(let t=this.lineMax;u<t&&!(this.bMarks[u]+this.tShift[u]<this.eMarks[u]);u++);return u};ne.prototype.skipSpaces=function(u){for(let t=this.src.length;u<t;u++){let s=this.src.charCodeAt(u);if(!I(s))break}return u};ne.prototype.skipSpacesBack=function(u,t){if(u<=t)return u;for(;u>t;)if(!I(this.src.charCodeAt(--u)))return u+1;return u};ne.prototype.skipChars=function(u,t){for(let s=this.src.length;u<s&&this.src.charCodeAt(u)===t;u++);return u};ne.prototype.skipCharsBack=function(u,t,s){if(u<=s)return u;for(;u>s;)if(t!==this.src.charCodeAt(--u))return u+1;return u};ne.prototype.getLines=function(u,t,s,n){if(u>=t)return"";let r=new Array(t-u);for(let a=0,o=u;o<t;o++,a++){let i=0,c=this.bMarks[o],f=c,p;for(o+1<t||n?p=this.eMarks[o]+1:p=this.eMarks[o];f<p&&i<s;){let g=this.src.charCodeAt(f);if(I(g))g===9?i+=4-(i+this.bsCount[o])%4:i++;else if(f-c<this.tShift[o])i++;else break;f++}i>s?r[a]=new Array(i-s+1).join(" ")+this.src.slice(f,p):r[a]=this.src.slice(f,p)}return r.join("")};ne.prototype.Token=oe;var On=ne;var W0=65536;function nt(e,u){let t=e.bMarks[u]+e.tShift[u],s=e.eMarks[u];return e.src.slice(t,s)}function jn(e){let u=[],t=e.length,s=0,n=e.charCodeAt(s),r=!1,a=0,o="";for(;s<t;)n===124&&(r?(o+=e.substring(a,s-1),a=s):(u.push(o+e.substring(a,s)),o="",a=s+1)),r=n===92,s++,n=e.charCodeAt(s);return u.push(o+e.substring(a)),u}function st(e,u,t,s){if(u+2>t)return!1;let n=u+1;if(e.sCount[n]<e.blkIndent||e.sCount[n]-e.blkIndent>=4)return!1;let r=e.bMarks[n]+e.tShift[n];if(r>=e.eMarks[n])return!1;let a=e.src.charCodeAt(r++);if(a!==124&&a!==45&&a!==58||r>=e.eMarks[n])return!1;let o=e.src.charCodeAt(r++);if(o!==124&&o!==45&&o!==58&&!I(o)||a===45&&I(o))return!1;for(;r<e.eMarks[n];){let x=e.src.charCodeAt(r);if(x!==124&&x!==45&&x!==58&&!I(x))return!1;r++}let i=nt(e,u+1),c=i.split("|"),f=[];for(let x=0;x<c.length;x++){let E=c[x].trim();if(!E){if(x===0||x===c.length-1)continue;return!1}if(!/^:?-+:?$/.test(E))return!1;E.charCodeAt(E.length-1)===58?f.push(E.charCodeAt(0)===58?"center":"right"):E.charCodeAt(0)===58?f.push("left"):f.push("")}if(i=nt(e,u).trim(),i.indexOf("|")===-1||e.sCount[u]-e.blkIndent>=4)return!1;c=jn(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();let p=c.length;if(p===0||p!==f.length)return!1;if(s)return!0;let g=e.parentType;e.parentType="table";let b=e.md.block.ruler.getRules("blockquote"),h=e.push("table_open","table",1),C=[u,0];h.map=C;let v=e.push("thead_open","thead",1);v.map=[u,u+1];let k=e.push("tr_open","tr",1);k.map=[u,u+1];for(let x=0;x<c.length;x++){let E=e.push("th_open","th",1);f[x]&&(E.attrs=[["style","text-align:"+f[x]]]);let D=e.push("inline","",0);D.content=c[x].trim(),D.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let y,S=0;for(n=u+2;n<t&&!(e.sCount[n]<e.blkIndent);n++){let x=!1;for(let D=0,L=b.length;D<L;D++)if(b[D](e,n,t,!0)){x=!0;break}if(x||(i=nt(e,n).trim(),!i)||e.sCount[n]-e.blkIndent>=4||(c=jn(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),S+=p-c.length,S>W0))break;if(n===u+2){let D=e.push("tbody_open","tbody",1);D.map=y=[u+2,0]}let E=e.push("tr_open","tr",1);E.map=[n,n+1];for(let D=0;D<p;D++){let L=e.push("td_open","td",1);f[D]&&(L.attrs=[["style","text-align:"+f[D]]]);let P=e.push("inline","",0);P.content=c[D]?c[D].trim():"",P.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return y&&(e.push("tbody_close","tbody",-1),y[1]=n),e.push("table_close","table",-1),C[1]=n,e.parentType=g,e.line=n,!0}function rt(e,u,t){if(e.sCount[u]-e.blkIndent<4)return!1;let s=u+1,n=s;for(;s<t;){if(e.isEmpty(s)){s++;continue}if(e.sCount[s]-e.blkIndent>=4){s++,n=s;continue}break}e.line=n;let r=e.push("code_block","code",0);return r.content=e.getLines(u,n,4+e.blkIndent,!1)+`
16
- `,r.map=[u,e.line],!0}function it(e,u,t,s){let n=e.bMarks[u]+e.tShift[u],r=e.eMarks[u];if(e.sCount[u]-e.blkIndent>=4||n+3>r)return!1;let a=e.src.charCodeAt(n);if(a!==126&&a!==96)return!1;let o=n;n=e.skipChars(n,a);let i=n-o;if(i<3)return!1;let c=e.src.slice(o,n),f=e.src.slice(n,r);if(a===96&&f.indexOf(String.fromCharCode(a))>=0)return!1;if(s)return!0;let p=u,g=!1;for(;p++,!(p>=t||(n=o=e.bMarks[p]+e.tShift[p],r=e.eMarks[p],n<r&&e.sCount[p]<e.blkIndent));)if(e.src.charCodeAt(n)===a&&!(e.sCount[p]-e.blkIndent>=4)&&(n=e.skipChars(n,a),!(n-o<i)&&(n=e.skipSpaces(n),!(n<r)))){g=!0;break}i=e.sCount[u],e.line=p+(g?1:0);let b=e.push("fence","code",0);return b.info=f,b.content=e.getLines(u+1,p,i,!0),b.markup=c,b.map=[u,e.line],!0}function ot(e,u,t,s){let n=e.bMarks[u]+e.tShift[u],r=e.eMarks[u],a=e.lineMax;if(e.sCount[u]-e.blkIndent>=4||e.src.charCodeAt(n)!==62)return!1;if(s)return!0;let o=[],i=[],c=[],f=[],p=e.md.block.ruler.getRules("blockquote"),g=e.parentType;e.parentType="blockquote";let b=!1,h;for(h=u;h<t;h++){let S=e.sCount[h]<e.blkIndent;if(n=e.bMarks[h]+e.tShift[h],r=e.eMarks[h],n>=r)break;if(e.src.charCodeAt(n++)===62&&!S){let E=e.sCount[h]+1,D,L;e.src.charCodeAt(n)===32?(n++,E++,L=!1,D=!0):e.src.charCodeAt(n)===9?(D=!0,(e.bsCount[h]+E)%4===3?(n++,E++,L=!1):L=!0):D=!1;let P=E;for(o.push(e.bMarks[h]),e.bMarks[h]=n;n<r;){let F=e.src.charCodeAt(n);if(I(F))F===9?P+=4-(P+e.bsCount[h]+(L?1:0))%4:P++;else break;n++}b=n>=r,i.push(e.bsCount[h]),e.bsCount[h]=e.sCount[h]+1+(D?1:0),c.push(e.sCount[h]),e.sCount[h]=P-E,f.push(e.tShift[h]),e.tShift[h]=n-e.bMarks[h];continue}if(b)break;let x=!1;for(let E=0,D=p.length;E<D;E++)if(p[E](e,h,t,!0)){x=!0;break}if(x){e.lineMax=h,e.blkIndent!==0&&(o.push(e.bMarks[h]),i.push(e.bsCount[h]),f.push(e.tShift[h]),c.push(e.sCount[h]),e.sCount[h]-=e.blkIndent);break}o.push(e.bMarks[h]),i.push(e.bsCount[h]),f.push(e.tShift[h]),c.push(e.sCount[h]),e.sCount[h]=-1}let C=e.blkIndent;e.blkIndent=0;let v=e.push("blockquote_open","blockquote",1);v.markup=">";let k=[u,0];v.map=k,e.md.block.tokenize(e,u,h);let y=e.push("blockquote_close","blockquote",-1);y.markup=">",e.lineMax=a,e.parentType=g,k[1]=e.line;for(let S=0;S<f.length;S++)e.bMarks[S+u]=o[S],e.tShift[S+u]=f[S],e.sCount[S+u]=c[S],e.bsCount[S+u]=i[S];return e.blkIndent=C,!0}function at(e,u,t,s){let n=e.eMarks[u];if(e.sCount[u]-e.blkIndent>=4)return!1;let r=e.bMarks[u]+e.tShift[u],a=e.src.charCodeAt(r++);if(a!==42&&a!==45&&a!==95)return!1;let o=1;for(;r<n;){let c=e.src.charCodeAt(r++);if(c!==a&&!I(c))return!1;c===a&&o++}if(o<3)return!1;if(s)return!0;e.line=u+1;let i=e.push("hr","hr",0);return i.map=[u,e.line],i.markup=Array(o+1).join(String.fromCharCode(a)),!0}function Un(e,u){let t=e.eMarks[u],s=e.bMarks[u]+e.tShift[u],n=e.src.charCodeAt(s++);if(n!==42&&n!==45&&n!==43)return-1;if(s<t){let r=e.src.charCodeAt(s);if(!I(r))return-1}return s}function Vn(e,u){let t=e.bMarks[u]+e.tShift[u],s=e.eMarks[u],n=t;if(n+1>=s)return-1;let r=e.src.charCodeAt(n++);if(r<48||r>57)return-1;for(;;){if(n>=s)return-1;if(r=e.src.charCodeAt(n++),r>=48&&r<=57){if(n-t>=10)return-1;continue}if(r===41||r===46)break;return-1}return n<s&&(r=e.src.charCodeAt(n),!I(r))?-1:n}function Y0(e,u){let t=e.level+2;for(let s=u+2,n=e.tokens.length-2;s<n;s++)e.tokens[s].level===t&&e.tokens[s].type==="paragraph_open"&&(e.tokens[s+2].hidden=!0,e.tokens[s].hidden=!0,s+=2)}function ct(e,u,t,s){let n,r,a,o,i=u,c=!0;if(e.sCount[i]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[i]-e.listIndent>=4&&e.sCount[i]<e.blkIndent)return!1;let f=!1;s&&e.parentType==="paragraph"&&e.sCount[i]>=e.blkIndent&&(f=!0);let p,g,b;if((b=Vn(e,i))>=0){if(p=!0,a=e.bMarks[i]+e.tShift[i],g=Number(e.src.slice(a,b-1)),f&&g!==1)return!1}else if((b=Un(e,i))>=0)p=!1;else return!1;if(f&&e.skipSpaces(b)>=e.eMarks[i])return!1;if(s)return!0;let h=e.src.charCodeAt(b-1),C=e.tokens.length;p?(o=e.push("ordered_list_open","ol",1),g!==1&&(o.attrs=[["start",g]])):o=e.push("bullet_list_open","ul",1);let v=[i,0];o.map=v,o.markup=String.fromCharCode(h);let k=!1,y=e.md.block.ruler.getRules("list"),S=e.parentType;for(e.parentType="list";i<t;){r=b,n=e.eMarks[i];let x=e.sCount[i]+b-(e.bMarks[i]+e.tShift[i]),E=x;for(;r<n;){let q=e.src.charCodeAt(r);if(q===9)E+=4-(E+e.bsCount[i])%4;else if(q===32)E++;else break;r++}let D=r,L;D>=n?L=1:L=E-x,L>4&&(L=1);let P=x+L;o=e.push("list_item_open","li",1),o.markup=String.fromCharCode(h);let F=[i,0];o.map=F,p&&(o.info=e.src.slice(a,b-1));let B=e.tight,O=e.tShift[i],Z=e.sCount[i],J=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=P,e.tight=!0,e.tShift[i]=D-e.bMarks[i],e.sCount[i]=E,D>=n&&e.isEmpty(i+1)?e.line=Math.min(e.line+2,t):e.md.block.tokenize(e,i,t,!0),(!e.tight||k)&&(c=!1),k=e.line-i>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=J,e.tShift[i]=O,e.sCount[i]=Z,e.tight=B,o=e.push("list_item_close","li",-1),o.markup=String.fromCharCode(h),i=e.line,F[1]=i,i>=t||e.sCount[i]<e.blkIndent||e.sCount[i]-e.blkIndent>=4)break;let W=!1;for(let q=0,N=y.length;q<N;q++)if(y[q](e,i,t,!0)){W=!0;break}if(W)break;if(p){if(b=Vn(e,i),b<0)break;a=e.bMarks[i]+e.tShift[i]}else if(b=Un(e,i),b<0)break;if(h!==e.src.charCodeAt(b-1))break}return p?o=e.push("ordered_list_close","ol",-1):o=e.push("bullet_list_close","ul",-1),o.markup=String.fromCharCode(h),v[1]=i,e.line=i,e.parentType=S,c&&Y0(e,C),!0}function lt(e,u,t,s){let n=e.bMarks[u]+e.tShift[u],r=e.eMarks[u],a=u+1;if(e.sCount[u]-e.blkIndent>=4||e.src.charCodeAt(n)!==91)return!1;function o(y){let S=e.lineMax;if(y>=S||e.isEmpty(y))return null;let x=!1;if(e.sCount[y]-e.blkIndent>3&&(x=!0),e.sCount[y]<0&&(x=!0),!x){let L=e.md.block.ruler.getRules("reference"),P=e.parentType;e.parentType="reference";let F=!1;for(let B=0,O=L.length;B<O;B++)if(L[B](e,y,S,!0)){F=!0;break}if(e.parentType=P,F)return null}let E=e.bMarks[y]+e.tShift[y],D=e.eMarks[y];return e.src.slice(E,D+1)}let i=e.src.slice(n,r+1);r=i.length;let c=-1;for(n=1;n<r;n++){let y=i.charCodeAt(n);if(y===91)return!1;if(y===93){c=n;break}else if(y===10){let S=o(a);S!==null&&(i+=S,r=i.length,a++)}else if(y===92&&(n++,n<r&&i.charCodeAt(n)===10)){let S=o(a);S!==null&&(i+=S,r=i.length,a++)}}if(c<0||i.charCodeAt(c+1)!==58)return!1;for(n=c+2;n<r;n++){let y=i.charCodeAt(n);if(y===10){let S=o(a);S!==null&&(i+=S,r=i.length,a++)}else if(!I(y))break}let f=e.md.helpers.parseLinkDestination(i,n,r);if(!f.ok)return!1;let p=e.md.normalizeLink(f.str);if(!e.md.validateLink(p))return!1;n=f.pos;let g=n,b=a,h=n;for(;n<r;n++){let y=i.charCodeAt(n);if(y===10){let S=o(a);S!==null&&(i+=S,r=i.length,a++)}else if(!I(y))break}let C=e.md.helpers.parseLinkTitle(i,n,r);for(;C.can_continue;){let y=o(a);if(y===null)break;i+=y,n=r,r=i.length,a++,C=e.md.helpers.parseLinkTitle(i,n,r,C)}let v;for(n<r&&h!==n&&C.ok?(v=C.str,n=C.pos):(v="",n=g,a=b);n<r;){let y=i.charCodeAt(n);if(!I(y))break;n++}if(n<r&&i.charCodeAt(n)!==10&&v)for(v="",n=g,a=b;n<r;){let y=i.charCodeAt(n);if(!I(y))break;n++}if(n<r&&i.charCodeAt(n)!==10)return!1;let k=ye(i.slice(1,c));return k?(s||(typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[k]>"u"&&(e.env.references[k]={title:v,href:p}),e.line=a),!0):!1}var Gn=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];var J0="[a-zA-Z_:][a-zA-Z0-9:._-]*",X0="[^\"'=<>`\\x00-\\x20]+",K0="'[^']*'",Q0='"[^"]*"',er="(?:"+X0+"|"+K0+"|"+Q0+")",ur="(?:\\s+"+J0+"(?:\\s*=\\s*"+er+")?)",Zn="<[A-Za-z][A-Za-z0-9\\-]*"+ur+"*\\s*\\/?>",Wn="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",tr="<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->",nr="<[?][\\s\\S]*?[?]>",sr="<![A-Za-z][^>]*>",rr="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",Yn=new RegExp("^(?:"+Zn+"|"+Wn+"|"+tr+"|"+nr+"|"+sr+"|"+rr+")"),Jn=new RegExp("^(?:"+Zn+"|"+Wn+")");var Ie=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^</?("+Gn.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(Jn.source+"\\s*$"),/^$/,!1]];function dt(e,u,t,s){let n=e.bMarks[u]+e.tShift[u],r=e.eMarks[u];if(e.sCount[u]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(n)!==60)return!1;let a=e.src.slice(n,r),o=0;for(;o<Ie.length&&!Ie[o][0].test(a);o++);if(o===Ie.length)return!1;if(s)return Ie[o][2];let i=u+1;if(!Ie[o][1].test(a)){for(;i<t&&!(e.sCount[i]<e.blkIndent);i++)if(n=e.bMarks[i]+e.tShift[i],r=e.eMarks[i],a=e.src.slice(n,r),Ie[o][1].test(a)){a.length!==0&&i++;break}}e.line=i;let c=e.push("html_block","",0);return c.map=[u,i],c.content=e.getLines(u,i,e.blkIndent,!0),!0}function ft(e,u,t,s){let n=e.bMarks[u]+e.tShift[u],r=e.eMarks[u];if(e.sCount[u]-e.blkIndent>=4)return!1;let a=e.src.charCodeAt(n);if(a!==35||n>=r)return!1;let o=1;for(a=e.src.charCodeAt(++n);a===35&&n<r&&o<=6;)o++,a=e.src.charCodeAt(++n);if(o>6||n<r&&!I(a))return!1;if(s)return!0;r=e.skipSpacesBack(r,n);let i=e.skipCharsBack(r,35,n);i>n&&I(e.src.charCodeAt(i-1))&&(r=i),e.line=u+1;let c=e.push("heading_open","h"+String(o),1);c.markup="########".slice(0,o),c.map=[u,e.line];let f=e.push("inline","",0);f.content=e.src.slice(n,r).trim(),f.map=[u,e.line],f.children=[];let p=e.push("heading_close","h"+String(o),-1);return p.markup="########".slice(0,o),!0}function pt(e,u,t){let s=e.md.block.ruler.getRules("paragraph");if(e.sCount[u]-e.blkIndent>=4)return!1;let n=e.parentType;e.parentType="paragraph";let r=0,a,o=u+1;for(;o<t&&!e.isEmpty(o);o++){if(e.sCount[o]-e.blkIndent>3)continue;if(e.sCount[o]>=e.blkIndent){let b=e.bMarks[o]+e.tShift[o],h=e.eMarks[o];if(b<h&&(a=e.src.charCodeAt(b),(a===45||a===61)&&(b=e.skipChars(b,a),b=e.skipSpaces(b),b>=h))){r=a===61?1:2;break}}if(e.sCount[o]<0)continue;let g=!1;for(let b=0,h=s.length;b<h;b++)if(s[b](e,o,t,!0)){g=!0;break}if(g)break}if(!r)return!1;let i=e.getLines(u,o,e.blkIndent,!1).trim();e.line=o+1;let c=e.push("heading_open","h"+String(r),1);c.markup=String.fromCharCode(a),c.map=[u,e.line];let f=e.push("inline","",0);f.content=i,f.map=[u,e.line-1],f.children=[];let p=e.push("heading_close","h"+String(r),-1);return p.markup=String.fromCharCode(a),e.parentType=n,!0}function ht(e,u,t){let s=e.md.block.ruler.getRules("paragraph"),n=e.parentType,r=u+1;for(e.parentType="paragraph";r<t&&!e.isEmpty(r);r++){if(e.sCount[r]-e.blkIndent>3||e.sCount[r]<0)continue;let c=!1;for(let f=0,p=s.length;f<p;f++)if(s[f](e,r,t,!0)){c=!0;break}if(c)break}let a=e.getLines(u,r,e.blkIndent,!1).trim();e.line=r;let o=e.push("paragraph_open","p",1);o.map=[u,e.line];let i=e.push("inline","",0);return i.content=a,i.map=[u,e.line],i.children=[],e.push("paragraph_close","p",-1),e.parentType=n,!0}var bu=[["table",st,["paragraph","reference"]],["code",rt],["fence",it,["paragraph","reference","blockquote","list"]],["blockquote",ot,["paragraph","reference","blockquote","list"]],["hr",at,["paragraph","reference","blockquote","list"]],["list",ct,["paragraph","reference","blockquote"]],["reference",lt],["html_block",dt,["paragraph","reference","blockquote"]],["heading",ft,["paragraph","reference","blockquote"]],["lheading",pt],["paragraph",ht]];function mu(){this.ruler=new Ee;for(let e=0;e<bu.length;e++)this.ruler.push(bu[e][0],bu[e][1],{alt:(bu[e][2]||[]).slice()})}mu.prototype.tokenize=function(e,u,t){let s=this.ruler.getRules(""),n=s.length,r=e.md.options.maxNesting,a=u,o=!1;for(;a<t&&(e.line=a=e.skipEmptyLines(a),!(a>=t||e.sCount[a]<e.blkIndent));){if(e.level>=r){e.line=t;break}let i=e.line,c=!1;for(let f=0;f<n;f++)if(c=s[f](e,a,t,!1),c){if(i>=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!o,e.isEmpty(e.line-1)&&(o=!0),a=e.line,a<t&&e.isEmpty(a)&&(o=!0,a++,e.line=a)}};mu.prototype.parse=function(e,u,t,s){if(!e)return;let n=new this.State(e,u,t,s);this.tokenize(n,n.line,n.lineMax)};mu.prototype.State=On;var Xn=mu;function je(e,u,t,s){this.src=e,this.env=t,this.md=u,this.tokens=s,this.tokens_meta=Array(s.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[],this.backticks={},this.backticksScanned=!1,this.linkLevel=0}je.prototype.pushPending=function(){let e=new oe("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e};je.prototype.push=function(e,u,t){this.pending&&this.pushPending();let s=new oe(e,u,t),n=null;return t<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),s.level=this.level,t>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],n={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(s),this.tokens_meta.push(n),s};je.prototype.scanDelims=function(e,u){let t=this.posMax,s=this.src.charCodeAt(e),n=e>0?this.src.charCodeAt(e-1):32,r=e;for(;r<t&&this.src.charCodeAt(r)===s;)r++;let a=r-e,o=r<t?this.src.charCodeAt(r):32,i=_e(n)||ke(String.fromCharCode(n)),c=_e(o)||ke(String.fromCharCode(o)),f=ve(n),p=ve(o),g=!p&&(!c||f||i),b=!f&&(!i||p||c);return{can_open:g&&(u||!b||i),can_close:b&&(u||!g||c),length:a}};je.prototype.Token=oe;var Kn=je;function ir(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function bt(e,u){let t=e.pos;for(;t<e.posMax&&!ir(e.src.charCodeAt(t));)t++;return t===e.pos?!1:(u||(e.pending+=e.src.slice(e.pos,t)),e.pos=t,!0)}var or=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function mt(e,u){if(!e.md.options.linkify||e.linkLevel>0)return!1;let t=e.pos,s=e.posMax;if(t+3>s||e.src.charCodeAt(t)!==58||e.src.charCodeAt(t+1)!==47||e.src.charCodeAt(t+2)!==47)return!1;let n=e.pending.match(or);if(!n)return!1;let r=n[1],a=e.md.linkify.matchAtStart(e.src.slice(t-r.length));if(!a)return!1;let o=a.url;if(o.length<=r.length)return!1;let i=o.length;for(;i>0&&o.charCodeAt(i-1)===42;)i--;i!==o.length&&(o=o.slice(0,i));let c=e.md.normalizeLink(o);if(!e.md.validateLink(c))return!1;if(!u){e.pending=e.pending.slice(0,-r.length);let f=e.push("link_open","a",1);f.attrs=[["href",c]],f.markup="linkify",f.info="auto";let p=e.push("text","",0);p.content=e.md.normalizeLinkText(o);let g=e.push("link_close","a",-1);g.markup="linkify",g.info="auto"}return e.pos+=o.length-r.length,!0}function gt(e,u){let t=e.pos;if(e.src.charCodeAt(t)!==10)return!1;let s=e.pending.length-1,n=e.posMax;if(!u)if(s>=0&&e.pending.charCodeAt(s)===32)if(s>=1&&e.pending.charCodeAt(s-1)===32){let r=s-1;for(;r>=1&&e.pending.charCodeAt(r-1)===32;)r--;e.pending=e.pending.slice(0,r),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(t++;t<n&&I(e.src.charCodeAt(t));)t++;return e.pos=t,!0}var xt=[];for(let e=0;e<256;e++)xt.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){xt[e.charCodeAt(0)]=1});function vt(e,u){let t=e.pos,s=e.posMax;if(e.src.charCodeAt(t)!==92||(t++,t>=s))return!1;let n=e.src.charCodeAt(t);if(n===10){for(u||e.push("hardbreak","br",0),t++;t<s&&(n=e.src.charCodeAt(t),!!I(n));)t++;return e.pos=t,!0}let r=e.src[t];if(n>=55296&&n<=56319&&t+1<s){let o=e.src.charCodeAt(t+1);o>=56320&&o<=57343&&(r+=e.src[t+1],t++)}let a="\\"+r;if(!u){let o=e.push("text_special","",0);n<256&&xt[n]!==0?o.content=r:o.content=a,o.markup=a,o.info="escape"}return e.pos=t+1,!0}function kt(e,u){let t=e.pos;if(e.src.charCodeAt(t)!==96)return!1;let n=t;t++;let r=e.posMax;for(;t<r&&e.src.charCodeAt(t)===96;)t++;let a=e.src.slice(n,t),o=a.length;if(e.backticksScanned&&(e.backticks[o]||0)<=n)return u||(e.pending+=a),e.pos+=o,!0;let i=t,c;for(;(c=e.src.indexOf("`",i))!==-1;){for(i=c+1;i<r&&e.src.charCodeAt(i)===96;)i++;let f=i-c;if(f===o){if(!u){let p=e.push("code_inline","code",0);p.markup=a,p.content=e.src.slice(t,c).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=i,!0}e.backticks[f]=c}return e.backticksScanned=!0,u||(e.pending+=a),e.pos+=o,!0}function ar(e,u){let t=e.pos,s=e.src.charCodeAt(t);if(u||s!==126)return!1;let n=e.scanDelims(e.pos,!0),r=n.length,a=String.fromCharCode(s);if(r<2)return!1;let o;r%2&&(o=e.push("text","",0),o.content=a,r--);for(let i=0;i<r;i+=2)o=e.push("text","",0),o.content=a+a,e.delimiters.push({marker:s,length:0,token:e.tokens.length-1,end:-1,open:n.can_open,close:n.can_close});return e.pos+=n.length,!0}function Qn(e,u){let t,s=[],n=u.length;for(let r=0;r<n;r++){let a=u[r];if(a.marker!==126||a.end===-1)continue;let o=u[a.end];t=e.tokens[a.token],t.type="s_open",t.tag="s",t.nesting=1,t.markup="~~",t.content="",t=e.tokens[o.token],t.type="s_close",t.tag="s",t.nesting=-1,t.markup="~~",t.content="",e.tokens[o.token-1].type==="text"&&e.tokens[o.token-1].content==="~"&&s.push(o.token-1)}for(;s.length;){let r=s.pop(),a=r+1;for(;a<e.tokens.length&&e.tokens[a].type==="s_close";)a++;a--,r!==a&&(t=e.tokens[a],e.tokens[a]=e.tokens[r],e.tokens[r]=t)}}function cr(e){let u=e.tokens_meta,t=e.tokens_meta.length;Qn(e,e.delimiters);for(let s=0;s<t;s++)u[s]&&u[s].delimiters&&Qn(e,u[s].delimiters)}var _t={tokenize:ar,postProcess:cr};function lr(e,u){let t=e.pos,s=e.src.charCodeAt(t);if(u||s!==95&&s!==42)return!1;let n=e.scanDelims(e.pos,s===42);for(let r=0;r<n.length;r++){let a=e.push("text","",0);a.content=String.fromCharCode(s),e.delimiters.push({marker:s,length:n.length,token:e.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}return e.pos+=n.length,!0}function es(e,u){let t=u.length;for(let s=t-1;s>=0;s--){let n=u[s];if(n.marker!==95&&n.marker!==42||n.end===-1)continue;let r=u[n.end],a=s>0&&u[s-1].end===n.end+1&&u[s-1].marker===n.marker&&u[s-1].token===n.token-1&&u[n.end+1].token===r.token+1,o=String.fromCharCode(n.marker),i=e.tokens[n.token];i.type=a?"strong_open":"em_open",i.tag=a?"strong":"em",i.nesting=1,i.markup=a?o+o:o,i.content="";let c=e.tokens[r.token];c.type=a?"strong_close":"em_close",c.tag=a?"strong":"em",c.nesting=-1,c.markup=a?o+o:o,c.content="",a&&(e.tokens[u[s-1].token].content="",e.tokens[u[n.end+1].token].content="",s--)}}function dr(e){let u=e.tokens_meta,t=e.tokens_meta.length;es(e,e.delimiters);for(let s=0;s<t;s++)u[s]&&u[s].delimiters&&es(e,u[s].delimiters)}var yt={tokenize:lr,postProcess:dr};function Et(e,u){let t,s,n,r,a="",o="",i=e.pos,c=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;let f=e.pos,p=e.posMax,g=e.pos+1,b=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(b<0)return!1;let h=b+1;if(h<p&&e.src.charCodeAt(h)===40){for(c=!1,h++;h<p&&(t=e.src.charCodeAt(h),!(!I(t)&&t!==10));h++);if(h>=p)return!1;if(i=h,n=e.md.helpers.parseLinkDestination(e.src,h,e.posMax),n.ok){for(a=e.md.normalizeLink(n.str),e.md.validateLink(a)?h=n.pos:a="",i=h;h<p&&(t=e.src.charCodeAt(h),!(!I(t)&&t!==10));h++);if(n=e.md.helpers.parseLinkTitle(e.src,h,e.posMax),h<p&&i!==h&&n.ok)for(o=n.str,h=n.pos;h<p&&(t=e.src.charCodeAt(h),!(!I(t)&&t!==10));h++);}(h>=p||e.src.charCodeAt(h)!==41)&&(c=!0),h++}if(c){if(typeof e.env.references>"u")return!1;if(h<p&&e.src.charCodeAt(h)===91?(i=h+1,h=e.md.helpers.parseLinkLabel(e,h),h>=0?s=e.src.slice(i,h++):h=b+1):h=b+1,s||(s=e.src.slice(g,b)),r=e.env.references[ye(s)],!r)return e.pos=f,!1;a=r.href,o=r.title}if(!u){e.pos=g,e.posMax=b;let C=e.push("link_open","a",1),v=[["href",a]];C.attrs=v,o&&v.push(["title",o]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=h,e.posMax=p,!0}function St(e,u){let t,s,n,r,a,o,i,c,f="",p=e.pos,g=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;let b=e.pos+2,h=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(h<0)return!1;if(r=h+1,r<g&&e.src.charCodeAt(r)===40){for(r++;r<g&&(t=e.src.charCodeAt(r),!(!I(t)&&t!==10));r++);if(r>=g)return!1;for(c=r,o=e.md.helpers.parseLinkDestination(e.src,r,e.posMax),o.ok&&(f=e.md.normalizeLink(o.str),e.md.validateLink(f)?r=o.pos:f=""),c=r;r<g&&(t=e.src.charCodeAt(r),!(!I(t)&&t!==10));r++);if(o=e.md.helpers.parseLinkTitle(e.src,r,e.posMax),r<g&&c!==r&&o.ok)for(i=o.str,r=o.pos;r<g&&(t=e.src.charCodeAt(r),!(!I(t)&&t!==10));r++);else i="";if(r>=g||e.src.charCodeAt(r)!==41)return e.pos=p,!1;r++}else{if(typeof e.env.references>"u")return!1;if(r<g&&e.src.charCodeAt(r)===91?(c=r+1,r=e.md.helpers.parseLinkLabel(e,r),r>=0?n=e.src.slice(c,r++):r=h+1):r=h+1,n||(n=e.src.slice(b,h)),a=e.env.references[ye(n)],!a)return e.pos=p,!1;f=a.href,i=a.title}if(!u){s=e.src.slice(b,h);let C=[];e.md.inline.parse(s,e.md,e.env,C);let v=e.push("image","img",0),k=[["src",f],["alt",""]];v.attrs=k,v.children=C,v.content=s,i&&k.push(["title",i])}return e.pos=r,e.posMax=g,!0}var fr=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,pr=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function $t(e,u){let t=e.pos;if(e.src.charCodeAt(t)!==60)return!1;let s=e.pos,n=e.posMax;for(;;){if(++t>=n)return!1;let a=e.src.charCodeAt(t);if(a===60)return!1;if(a===62)break}let r=e.src.slice(s+1,t);if(pr.test(r)){let a=e.md.normalizeLink(r);if(!e.md.validateLink(a))return!1;if(!u){let o=e.push("link_open","a",1);o.attrs=[["href",a]],o.markup="autolink",o.info="auto";let i=e.push("text","",0);i.content=e.md.normalizeLinkText(r);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=r.length+2,!0}if(fr.test(r)){let a=e.md.normalizeLink("mailto:"+r);if(!e.md.validateLink(a))return!1;if(!u){let o=e.push("link_open","a",1);o.attrs=[["href",a]],o.markup="autolink",o.info="auto";let i=e.push("text","",0);i.content=e.md.normalizeLinkText(r);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=r.length+2,!0}return!1}function hr(e){return/^<a[>\s]/i.test(e)}function br(e){return/^<\/a\s*>/i.test(e)}function mr(e){let u=e|32;return u>=97&&u<=122}function wt(e,u){if(!e.md.options.html)return!1;let t=e.posMax,s=e.pos;if(e.src.charCodeAt(s)!==60||s+2>=t)return!1;let n=e.src.charCodeAt(s+1);if(n!==33&&n!==63&&n!==47&&!mr(n))return!1;let r=e.src.slice(s).match(Yn);if(!r)return!1;if(!u){let a=e.push("html_inline","",0);a.content=r[0],hr(a.content)&&e.linkLevel++,br(a.content)&&e.linkLevel--}return e.pos+=r[0].length,!0}var gr=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,xr=/^&([a-z][a-z0-9]{1,31});/i;function Ct(e,u){let t=e.pos,s=e.posMax;if(e.src.charCodeAt(t)!==38||t+1>=s)return!1;if(e.src.charCodeAt(t+1)===35){let r=e.src.slice(t).match(gr);if(r){if(!u){let a=r[1][0].toLowerCase()==="x"?parseInt(r[1].slice(1),16):parseInt(r[1],10),o=e.push("text_special","",0);o.content=pu(a)?Oe(a):Oe(65533),o.markup=r[0],o.info="entity"}return e.pos+=r[0].length,!0}}else{let r=e.src.slice(t).match(xr);if(r){let a=he(r[0]);if(a!==r[0]){if(!u){let o=e.push("text_special","",0);o.content=a,o.markup=r[0],o.info="entity"}return e.pos+=r[0].length,!0}}}return!1}function us(e){let u={},t=e.length;if(!t)return;let s=0,n=-2,r=[];for(let a=0;a<t;a++){let o=e[a];if(r.push(0),(e[s].marker!==o.marker||n!==o.token-1)&&(s=a),n=o.token,o.length=o.length||0,!o.close)continue;u.hasOwnProperty(o.marker)||(u[o.marker]=[-1,-1,-1,-1,-1,-1]);let i=u[o.marker][(o.open?3:0)+o.length%3],c=s-r[s]-1,f=c;for(;c>i;c-=r[c]+1){let p=e[c];if(p.marker===o.marker&&p.open&&p.end<0){let g=!1;if((p.close||o.open)&&(p.length+o.length)%3===0&&(p.length%3!==0||o.length%3!==0)&&(g=!0),!g){let b=c>0&&!e[c-1].open?r[c-1]+1:0;r[a]=a-c+b,r[c]=b,o.open=!1,p.end=a,p.close=!1,f=-1,n=-2;break}}}f!==-1&&(u[o.marker][(o.open?3:0)+(o.length||0)%3]=f)}}function Dt(e){let u=e.tokens_meta,t=e.tokens_meta.length;us(e.delimiters);for(let s=0;s<t;s++)u[s]&&u[s].delimiters&&us(u[s].delimiters)}function At(e){let u,t,s=0,n=e.tokens,r=e.tokens.length;for(u=t=0;u<r;u++)n[u].nesting<0&&s--,n[u].level=s,n[u].nesting>0&&s++,n[u].type==="text"&&u+1<r&&n[u+1].type==="text"?n[u+1].content=n[u].content+n[u+1].content:(u!==t&&(n[t]=n[u]),t++);u!==t&&(n.length=t)}var Ft=[["text",bt],["linkify",mt],["newline",gt],["escape",vt],["backticks",kt],["strikethrough",_t.tokenize],["emphasis",yt.tokenize],["link",Et],["image",St],["autolink",$t],["html_inline",wt],["entity",Ct]],Tt=[["balance_pairs",Dt],["strikethrough",_t.postProcess],["emphasis",yt.postProcess],["fragments_join",At]];function Ue(){this.ruler=new Ee;for(let e=0;e<Ft.length;e++)this.ruler.push(Ft[e][0],Ft[e][1]);this.ruler2=new Ee;for(let e=0;e<Tt.length;e++)this.ruler2.push(Tt[e][0],Tt[e][1])}Ue.prototype.skipToken=function(e){let u=e.pos,t=this.ruler.getRules(""),s=t.length,n=e.md.options.maxNesting,r=e.cache;if(typeof r[u]<"u"){e.pos=r[u];return}let a=!1;if(e.level<n){for(let o=0;o<s;o++)if(e.level++,a=t[o](e,!0),e.level--,a){if(u>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,r[u]=e.pos};Ue.prototype.tokenize=function(e){let u=this.ruler.getRules(""),t=u.length,s=e.posMax,n=e.md.options.maxNesting;for(;e.pos<s;){let r=e.pos,a=!1;if(e.level<n){for(let o=0;o<t;o++)if(a=u[o](e,!1),a){if(r>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=s)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Ue.prototype.parse=function(e,u,t,s){let n=new this.State(e,u,t,s);this.tokenize(n);let r=this.ruler2.getRules(""),a=r.length;for(let o=0;o<a;o++)r[o](n)};Ue.prototype.State=Kn;var ts=Ue;function ns(e){let u={};e=e||{},u.src_Any=iu.source,u.src_Cc=ou.source,u.src_Z=cu.source,u.src_P=Ae.source,u.src_ZPCc=[u.src_Z,u.src_P,u.src_Cc].join("|"),u.src_ZCc=[u.src_Z,u.src_Cc].join("|");let t="[><\uFF5C]";return u.src_pseudo_letter="(?:(?!"+t+"|"+u.src_ZPCc+")"+u.src_Any+")",u.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",u.src_auth="(?:(?:(?!"+u.src_ZCc+"|[@/\\[\\]()]).)+@)?",u.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",u.src_host_terminator="(?=$|"+t+"|"+u.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+u.src_ZPCc+"))",u.src_path="(?:[/?#](?:(?!"+u.src_ZCc+"|"+t+`|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!`+u.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+u.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+u.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+u.src_ZCc+`|["]).)+\\"|\\'(?:(?!`+u.src_ZCc+"|[']).)+\\'|\\'(?="+u.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+u.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+u.src_ZCc+"|$)|;(?!"+u.src_ZCc+"|$)|\\!+(?!"+u.src_ZCc+"|[!]|$)|\\?(?!"+u.src_ZCc+"|[?]|$))+|\\/)?",u.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',u.src_xn="xn--[a-z0-9\\-]{1,59}",u.src_domain_root="(?:"+u.src_xn+"|"+u.src_pseudo_letter+"{1,63})",u.src_domain="(?:"+u.src_xn+"|(?:"+u.src_pseudo_letter+")|(?:"+u.src_pseudo_letter+"(?:-|"+u.src_pseudo_letter+"){0,61}"+u.src_pseudo_letter+"))",u.src_host="(?:(?:(?:(?:"+u.src_domain+")\\.)*"+u.src_domain+"))",u.tpl_host_fuzzy="(?:"+u.src_ip4+"|(?:(?:(?:"+u.src_domain+")\\.)+(?:%TLDS%)))",u.tpl_host_no_ip_fuzzy="(?:(?:(?:"+u.src_domain+")\\.)+(?:%TLDS%))",u.src_host_strict=u.src_host+u.src_host_terminator,u.tpl_host_fuzzy_strict=u.tpl_host_fuzzy+u.src_host_terminator,u.src_host_port_strict=u.src_host+u.src_port+u.src_host_terminator,u.tpl_host_port_fuzzy_strict=u.tpl_host_fuzzy+u.src_port+u.src_host_terminator,u.tpl_host_port_no_ip_fuzzy_strict=u.tpl_host_no_ip_fuzzy+u.src_port+u.src_host_terminator,u.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+u.src_ZPCc+"|>|$))",u.tpl_email_fuzzy="(^|"+t+'|"|\\(|'+u.src_ZCc+")("+u.src_email_name+"@"+u.tpl_host_fuzzy_strict+")",u.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+u.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+u.tpl_host_port_fuzzy_strict+u.src_path+")",u.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+u.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+u.tpl_host_port_no_ip_fuzzy_strict+u.src_path+")",u}function Mt(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){t&&Object.keys(t).forEach(function(s){e[s]=t[s]})}),e}function xu(e){return Object.prototype.toString.call(e)}function vr(e){return xu(e)==="[object String]"}function kr(e){return xu(e)==="[object Object]"}function _r(e){return xu(e)==="[object RegExp]"}function ss(e){return xu(e)==="[object Function]"}function yr(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var is={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Er(e){return Object.keys(e||{}).reduce(function(u,t){return u||is.hasOwnProperty(t)},!1)}var Sr={"http:":{validate:function(e,u,t){let s=e.slice(u);return t.re.http||(t.re.http=new RegExp("^\\/\\/"+t.re.src_auth+t.re.src_host_port_strict+t.re.src_path,"i")),t.re.http.test(s)?s.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,u,t){let s=e.slice(u);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+"(?:localhost|(?:(?:"+t.re.src_domain+")\\.)+"+t.re.src_domain_root+")"+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(s)?u>=3&&e[u-3]===":"||u>=3&&e[u-3]==="/"?0:s.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(e,u,t){let s=e.slice(u);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(s)?s.match(t.re.mailto)[0].length:0}}},$r="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",wr="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function Cr(e){e.__index__=-1,e.__text_cache__=""}function Dr(e){return function(u,t){let s=u.slice(t);return e.test(s)?s.match(e)[0].length:0}}function rs(){return function(e,u){u.normalize(e)}}function gu(e){let u=e.re=ns(e.__opts__),t=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||t.push($r),t.push(u.src_xn),u.src_tlds=t.join("|");function s(o){return o.replace("%TLDS%",u.src_tlds)}u.email_fuzzy=RegExp(s(u.tpl_email_fuzzy),"i"),u.link_fuzzy=RegExp(s(u.tpl_link_fuzzy),"i"),u.link_no_ip_fuzzy=RegExp(s(u.tpl_link_no_ip_fuzzy),"i"),u.host_fuzzy_test=RegExp(s(u.tpl_host_fuzzy_test),"i");let n=[];e.__compiled__={};function r(o,i){throw new Error('(LinkifyIt) Invalid schema "'+o+'": '+i)}Object.keys(e.__schemas__).forEach(function(o){let i=e.__schemas__[o];if(i===null)return;let c={validate:null,link:null};if(e.__compiled__[o]=c,kr(i)){_r(i.validate)?c.validate=Dr(i.validate):ss(i.validate)?c.validate=i.validate:r(o,i),ss(i.normalize)?c.normalize=i.normalize:i.normalize?r(o,i):c.normalize=rs();return}if(vr(i)){n.push(o);return}r(o,i)}),n.forEach(function(o){e.__compiled__[e.__schemas__[o]]&&(e.__compiled__[o].validate=e.__compiled__[e.__schemas__[o]].validate,e.__compiled__[o].normalize=e.__compiled__[e.__schemas__[o]].normalize)}),e.__compiled__[""]={validate:null,normalize:rs()};let a=Object.keys(e.__compiled__).filter(function(o){return o.length>0&&e.__compiled__[o]}).map(yr).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><\uFF5C]|"+u.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><\uFF5C]|"+u.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),Cr(e)}function Ar(e,u){let t=e.__index__,s=e.__last_index__,n=e.__text_cache__.slice(t,s);this.schema=e.__schema__.toLowerCase(),this.index=t+u,this.lastIndex=s+u,this.raw=n,this.text=n,this.url=n}function It(e,u){let t=new Ar(e,u);return e.__compiled__[t.schema].normalize(t,e),t}function Y(e,u){if(!(this instanceof Y))return new Y(e,u);u||Er(e)&&(u=e,e={}),this.__opts__=Mt({},is,u),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Mt({},Sr,e),this.__compiled__={},this.__tlds__=wr,this.__tlds_replaced__=!1,this.re={},gu(this)}Y.prototype.add=function(u,t){return this.__schemas__[u]=t,gu(this),this};Y.prototype.set=function(u){return this.__opts__=Mt(this.__opts__,u),this};Y.prototype.test=function(u){if(this.__text_cache__=u,this.__index__=-1,!u.length)return!1;let t,s,n,r,a,o,i,c,f;if(this.re.schema_test.test(u)){for(i=this.re.schema_search,i.lastIndex=0;(t=i.exec(u))!==null;)if(r=this.testSchemaAt(u,t[2],i.lastIndex),r){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+r;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=u.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c<this.__index__)&&(s=u.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(a=s.index+s[1].length,(this.__index__<0||a<this.__index__)&&(this.__schema__="",this.__index__=a,this.__last_index__=s.index+s[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(f=u.indexOf("@"),f>=0&&(n=u.match(this.re.email_fuzzy))!==null&&(a=n.index+n[1].length,o=n.index+n[0].length,(this.__index__<0||a<this.__index__||a===this.__index__&&o>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=o))),this.__index__>=0};Y.prototype.pretest=function(u){return this.re.pretest.test(u)};Y.prototype.testSchemaAt=function(u,t,s){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(u,s,this):0};Y.prototype.match=function(u){let t=[],s=0;this.__index__>=0&&this.__text_cache__===u&&(t.push(It(this,s)),s=this.__last_index__);let n=s?u.slice(s):u;for(;this.test(n);)t.push(It(this,s)),n=n.slice(this.__last_index__),s+=this.__last_index__;return t.length?t:null};Y.prototype.matchAtStart=function(u){if(this.__text_cache__=u,this.__index__=-1,!u.length)return null;let t=this.re.schema_at_start.exec(u);if(!t)return null;let s=this.testSchemaAt(u,t[2],t[0].length);return s?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+s,It(this,0)):null};Y.prototype.tlds=function(u,t){return u=Array.isArray(u)?u:[u],t?(this.__tlds__=this.__tlds__.concat(u).sort().filter(function(s,n,r){return s!==r[n-1]}).reverse(),gu(this),this):(this.__tlds__=u.slice(),this.__tlds_replaced__=!0,gu(this),this)};Y.prototype.normalize=function(u){u.schema||(u.url="http://"+u.url),u.schema==="mailto:"&&!/^mailto:/i.test(u.url)&&(u.url="mailto:"+u.url)};Y.prototype.onCompile=function(){};var os=Y;var Fr=/^xn--/,Tr=/[^\0-\x7F]/,Mr=/[\x2E\u3002\uFF0E\uFF61]/g,Ir={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Lt=35,se=Math.floor,Rt=String.fromCharCode;function be(e){throw new RangeError(Ir[e])}function Lr(e,u){let t=[],s=e.length;for(;s--;)t[s]=u(e[s]);return t}function cs(e,u){let t=e.split("@"),s="";t.length>1&&(s=t[0]+"@",e=t[1]),e=e.replace(Mr,".");let n=e.split("."),r=Lr(n,u).join(".");return s+r}function ls(e){let u=[],t=0,s=e.length;for(;t<s;){let n=e.charCodeAt(t++);if(n>=55296&&n<=56319&&t<s){let r=e.charCodeAt(t++);(r&64512)==56320?u.push(((n&1023)<<10)+(r&1023)+65536):(u.push(n),t--)}else u.push(n)}return u}var Rr=e=>String.fromCodePoint(...e),qr=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:36},as=function(e,u){return e+22+75*(e<26)-((u!=0)<<5)},ds=function(e,u,t){let s=0;for(e=t?se(e/700):e>>1,e+=se(e/u);e>Lt*26>>1;s+=36)e=se(e/Lt);return se(s+(Lt+1)*e/(e+38))},fs=function(e){let u=[],t=e.length,s=0,n=128,r=72,a=e.lastIndexOf("-");a<0&&(a=0);for(let o=0;o<a;++o)e.charCodeAt(o)>=128&&be("not-basic"),u.push(e.charCodeAt(o));for(let o=a>0?a+1:0;o<t;){let i=s;for(let f=1,p=36;;p+=36){o>=t&&be("invalid-input");let g=qr(e.charCodeAt(o++));g>=36&&be("invalid-input"),g>se((2147483647-s)/f)&&be("overflow"),s+=g*f;let b=p<=r?1:p>=r+26?26:p-r;if(g<b)break;let h=36-b;f>se(2147483647/h)&&be("overflow"),f*=h}let c=u.length+1;r=ds(s-i,c,i==0),se(s/c)>2147483647-n&&be("overflow"),n+=se(s/c),s%=c,u.splice(s++,0,n)}return String.fromCodePoint(...u)},ps=function(e){let u=[];e=ls(e);let t=e.length,s=128,n=0,r=72;for(let i of e)i<128&&u.push(Rt(i));let a=u.length,o=a;for(a&&u.push("-");o<t;){let i=2147483647;for(let f of e)f>=s&&f<i&&(i=f);let c=o+1;i-s>se((2147483647-n)/c)&&be("overflow"),n+=(i-s)*c,s=i;for(let f of e)if(f<s&&++n>2147483647&&be("overflow"),f===s){let p=n;for(let g=36;;g+=36){let b=g<=r?1:g>=r+26?26:g-r;if(p<b)break;let h=p-b,C=36-b;u.push(Rt(as(b+h%C,0))),p=se(h/C)}u.push(Rt(as(p,0))),r=ds(n,c,o===a),n=0,++o}++n,++s}return u.join("")},Br=function(e){return cs(e,function(u){return Fr.test(u)?fs(u.slice(4).toLowerCase()):u})},Hr=function(e){return cs(e,function(u){return Tr.test(u)?"xn--"+ps(u):u})},Pr={version:"2.3.1",ucs2:{decode:ls,encode:Rr},decode:fs,encode:ps,toASCII:Hr,toUnicode:Br};var qt=Pr;var hs={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};var bs={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}};var ms={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}};var Nr={default:hs,zero:bs,commonmark:ms},zr=/^(vbscript|javascript|file|data):/,Or=/^data:image\/(gif|png|jpeg|webp);/;function jr(e){let u=e.trim().toLowerCase();return zr.test(u)?Or.test(u):!0}var gs=["http:","https:","mailto:"];function Ur(e){let u=ze(e,!0);if(u.hostname&&(!u.protocol||gs.indexOf(u.protocol)>=0))try{u.hostname=qt.toASCII(u.hostname)}catch{}return nu(De(u))}function Vr(e){let u=ze(e,!0);if(u.hostname&&(!u.protocol||gs.indexOf(u.protocol)>=0))try{u.hostname=qt.toUnicode(u.hostname)}catch{}return Ne(De(u),Ne.defaultChars+"%")}function X(e,u){if(!(this instanceof X))return new X(e,u);u||fu(e)||(u=e||{},e="default"),this.inline=new ts,this.block=new Xn,this.core=new zn,this.renderer=new Rn,this.linkify=new os,this.validateLink=jr,this.normalizeLink=Ur,this.normalizeLinkText=Vr,this.utils=ju,this.helpers=Fe({},Zu),this.options={},this.configure(e),u&&this.set(u)}X.prototype.set=function(e){return Fe(this.options,e),this};X.prototype.configure=function(e){let u=this;if(fu(e)){let t=e;if(e=Nr[t],!e)throw new Error('Wrong `markdown-it` preset "'+t+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&u.set(e.options),e.components&&Object.keys(e.components).forEach(function(t){e.components[t].rules&&u[t].ruler.enableOnly(e.components[t].rules),e.components[t].rules2&&u[t].ruler2.enableOnly(e.components[t].rules2)}),this};X.prototype.enable=function(e,u){let t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(n){t=t.concat(this[n].ruler.enable(e,!0))},this),t=t.concat(this.inline.ruler2.enable(e,!0));let s=e.filter(function(n){return t.indexOf(n)<0});if(s.length&&!u)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+s);return this};X.prototype.disable=function(e,u){let t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(n){t=t.concat(this[n].ruler.disable(e,!0))},this),t=t.concat(this.inline.ruler2.disable(e,!0));let s=e.filter(function(n){return t.indexOf(n)<0});if(s.length&&!u)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+s);return this};X.prototype.use=function(e){let u=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,u),this};X.prototype.parse=function(e,u){if(typeof e!="string")throw new Error("Input data should be a String");let t=new this.core.State(e,this,u);return this.core.process(t),t.tokens};X.prototype.render=function(e,u){return u=u||{},this.renderer.render(this.parse(e,u),this.options,u)};X.prototype.parseInline=function(e,u){let t=new this.core.State(e,this,u);return t.inlineMode=!0,this.core.process(t),t.tokens};X.prototype.renderInline=function(e,u){return u=u||{},this.renderer.render(this.parseInline(e,u),this.options,u)};var Bt=X;var Re={bad:0,warn:1,info:2};function R(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"-"}function z(e){return e==null||!Number.isFinite(e)?"-":e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`}function Gr(e){return e==="error"?"!":e==="running"?"~":"OK"}function Nt(e,u){return u||(e?e.status==="unsupported_cli"?d("insights.unsupported"):e.status==="transcript_missing"?d("insights.noTranscript"):e.status==="parse_error"?d("insights.parseError"):e.status:"-")}function de(e){return String(e.title??"").replace(/^(?:@\S+\s*)+/,"").trim()||String(e.sessionId??"")}function Ss(e){return e==="bad"?d("insights.sevBad"):e==="warn"?d("insights.sevWarn"):d("insights.sevInfo")}function $s(e,u){let t=d(e);return t===e?u:t}function Zr(e){return $s(`insights.suggestion.${e.id}.title`,e.title)}function ge(e){let u=`insights.phase.${e}`,t=d(u);return t===u?e:t}function Ge(e){return String(e||"unknown").replace(/[^a-z0-9_-]/gi,"-")}function ae(e){return`phase-${Ge(e)}`}function zt(e){return!e||e.status!=="ok"?!1:e.agg.failedSpans>0||e.agg.slowSpans>0||e.suggestions.some(u=>u.severity!=="info")}function Wr(e){return{session:{sessionId:e.sessionId,cliId:e.cliId,cliSessionId:e.cliSessionId,title:e.title,botName:e.botName,larkAppId:e.larkAppId,workingDir:e.workingDir,status:e.status,lastMessageAt:e.lastMessageAt},report:e.report}}function Ht(e,u,t,s=new Set,n={}){let r=t.trim().toLowerCase();return e.filter(a=>{let o=a.session,i=a.report;return n.analyzableOnly&&i?.status!=="ok"||n.project&&Ze(a)!==n.project||n.sinceMs&&Number(o.lastMessageAt??o.spawnedAt??0)<n.sinceMs||s.size&&!s.has(Ot(a))||u==="review"&&!zt(i)||u==="failed"&&!(i?.status==="ok"&&i.agg.failedSpans>0)||u==="slow"&&!(i?.status==="ok"&&i.agg.slowSpans>0)?!1:r?`${de(o)} ${fe(o)} ${o.cliId??""} ${o.workingDir??""} ${o.sessionId??""}`.toLowerCase().includes(r):!0})}function Ot(e){return String(e.session.cliId??"unknown")}var xs=["claude-code","seed","relay","aiden","codex","traex","antigravity"];function Yr(e){let u=new Map;for(let t of e){let s=Ot(t);u.set(s,(u.get(s)??0)+1)}return[...u.entries()].map(([t,s])=>({id:t,count:s})).sort((t,s)=>{let n=xs.indexOf(t.id),r=xs.indexOf(s.id);return(n<0?99:n)-(r<0?99:r)||t.id.localeCompare(s.id)})}function Jr(e,u){let t=Yr(e);if(t.length<=1)return"";let s=(n,r,a,o)=>`<button type="button" class="spanchip${o?" on":""}" data-clifilter="${l(n)}">${l(r)} <b>${a}</b></button>`;return[s("all",d("common.all"),e.length,u.size===0),...t.map(n=>s(n.id,n.id,n.count,u.has(n.id)))].join("")}function ce(e,u,t=""){return`<div class="card"><div class="cv">${l(u)}</div><div class="cl">${l(e)}</div>${t?`<div class="cs">${l(t)}</div>`:""}</div>`}var ws=["research","edit","run","delegate","discuss"];function Xr(e){let u={totalSpans:0,failedSpans:0,slowSpans:0,failByTool:{},phase:{research:{count:0,ms:0},edit:{count:0,ms:0},run:{count:0,ms:0},delegate:{count:0,ms:0},discuss:{count:0,ms:0}},readWriteRatio:null,compactions:0,subagentCostShare:null},t=0,s=new Map;for(let r of e){let a=r.report;if(!a||a.status!=="ok")continue;t+=1;let o=a.agg;u.totalSpans+=o.totalSpans,u.failedSpans+=o.failedSpans,u.slowSpans+=o.slowSpans,u.compactions+=o.compactions;for(let[i,c]of Object.entries(o.failByTool??{}))u.failByTool[i]=(u.failByTool[i]??0)+c;for(let i of ws){let c=o.phase?.[i];c&&(u.phase[i].count+=c.count,u.phase[i].ms+=c.ms)}for(let i of a.suggestions??[]){let c=s.get(i.id);c?c.count+=1:s.set(i.id,{id:i.id,title:i.title,severity:i.severity,count:1,evidence:i.evidence??[],action:i.action})}}u.readWriteRatio=u.phase.edit.count>0?Number((u.phase.research.count/u.phase.edit.count).toFixed(2)):null;let n=Object.entries(u.failByTool).map(([r,a])=>({tool:r,count:a})).sort((r,a)=>a.count-r.count).slice(0,5);return{totalCount:e.length,analyzedCount:t,agg:u,topFailedTools:n,suggestions:[...s.values()]}}function jt(){return`<p class="insight-disclosure">\u2696\uFE0E ${l(d("insights.disclosure"))}</p>`}function Kr(e){let u=e.agg,t=u.readWriteRatio===null?"-":u.readWriteRatio.toFixed(1),s=e.topFailedTools.slice(0,5),n=[...e.suggestions].sort((r,a)=>Re[r.severity]-Re[a.severity]||a.count-r.count).slice(0,6);return`
17
- <div class="cards insights-metrics">
18
- ${ce(d("insights.metricSessions"),R(e.totalCount),d("insights.metricAnalyzed",{count:e.analyzedCount}))}
19
- ${ce(d("insights.metricSpans"),R(u.totalSpans),d("insights.metricSafe"))}
20
- ${ce(d("insights.metricFailed"),R(u.failedSpans),s[0]?`${s[0].tool} \xD7${s[0].count}`:"")}
21
- ${ce(d("insights.metricSlow"),R(u.slowSpans))}
22
- ${ce(d("insights.metricRw"),t,d("insights.metricCompactions",{count:u.compactions}))}
23
- </div>
24
- <div class="insights-overview-grid">
25
- <section class="block recblock">
26
- <h3>${l(d("insights.recommendations"))}</h3>
27
- <div class="reclist">
28
- ${n.length?n.map(r=>`
29
- <div class="rec ${r.severity}">
30
- <div class="rectop"><b>${l(Zr(r))}</b><span>${l(Ss(r.severity))}</span></div>
31
- <div class="recev">${l(d("insights.seenInSessions",{count:r.count}))}</div>
32
- </div>`).join(""):`<p class="mut">${l(d("insights.noRecommendations"))}</p>`}
33
- </div>
34
- </section>
35
- <section class="block">
36
- <h3>${l(d("insights.toolFailures"))}</h3>
37
- <div class="hbars">
38
- ${s.length?s.map(r=>{let a=Math.max(4,Math.round(r.count/Math.max(1,s[0].count)*100));return`<div class="hbrow"><div class="hblabel">${l(r.tool)}</div><div class="hbtrack"><div class="hbfill" style="width:${a}%"></div></div><div class="hbval">${R(r.count)}</div></div>`}).join(""):`<p class="mut">${l(d("insights.noFailures"))}</p>`}
39
- </div>
40
- </section>
41
- </div>
42
- ${jt()}`}function Cs(e){let u=Object.entries(e??{}).filter(([,t])=>t.count>0||t.ms>0);return u.length?`<div class="mph">${u.map(([t,s])=>{let n=Math.max(1,s.ms||s.count);return`<i class="${ae(t)}" style="flex:${n}" title="${l(`${ge(t)} \xB7 ${s.count} \xB7 ${z(s.ms)}`)}"></i>`}).join("")}</div>`:""}function Ds(e){return Cs(e.agg.phase)}function Qr(e){let u=e.subagents??[];if(!u.length)return"";let t=u.reduce((n,r)=>n+r.durationMs,0),s=u.map(n=>`<div class="sublane${n.failures?" bad":""}">
43
- <div class="sublane-head">
44
- <span class="sublane-type">${l(n.agentType)}</span>
45
- <span class="sublane-task">${l(n.task?.text??"")}${n.task?.truncated?"\u2026":""}</span>
46
- </div>
47
- ${Cs(n.phase)}
48
- <div class="sublane-stats">
49
- <span>${R(n.spans)} ${l(d("insights.spansShort"))}</span>
50
- <span>${l(z(n.durationMs))}</span>
51
- ${n.failures?`<span class="bad">${R(n.failures)} ${l(d("insights.failedShort"))}</span>`:""}
52
- </div>
53
- </div>`).join("");return`<section class="block subagent-block">
54
- <h3>${l(d("insights.subagents"))} <span class="mut">\xB7 ${u.length} \xB7 ${l(z(t))}</span></h3>
55
- <p class="mut ins-hint">${l(d("insights.subagentsHint"))}</p>
56
- <div class="sublanes">${s}</div>
57
- </section>`}var As=[{key:"overview",label:"insights.tabOverview"},{key:"sessions",label:"insights.tabSessions"},{key:"flow",label:"insights.tabFlow"},{key:"dist",label:"insights.tabDist"},{key:"hot",label:"insights.tabHot"}];function Fs(e){return`<div class="insight-tabs" role="tablist">${As.map(u=>`<button type="button" class="itab${u.key===e?" on":""}" data-itab="${u.key}" role="tab" aria-selected="${u.key===e}">${l(d(u.label))}</button>`).join("")}</div>`}function Ze(e){let u=String(e.session.workingDir??"").replace(/\/+$/,"");return u?u.split("/").pop()||u:""}function ei(e){let u=new Map;for(let t of e){let s=Ze(t);s&&u.set(s,(u.get(s)??0)+1)}return[...u.entries()].map(([t,s])=>({id:t,count:s})).sort((t,s)=>s.count-t.count||t.id.localeCompare(s.id))}var Ut=[{key:"all",label:"insights.timeAll",days:0},{key:"1d",label:"insights.time1d",days:1},{key:"7d",label:"insights.time7d",days:7},{key:"30d",label:"insights.time30d",days:30}];function Se(e){return ws.reduce((u,t)=>u+(e.agg.phase?.[t]?.ms??0),0)}function ui(e){return e.map(u=>u.report).filter(u=>!!u&&u.status==="ok")}function ti(e){if(!e.length)return 0;let u=[...e].sort((s,n)=>s-n),t=Math.floor(u.length/2);return u.length%2?u[t]:(u[t-1]+u[t])/2}function Le(e,u,t,s=R,n){let r=t.map(f=>({label:f.label,count:u.filter(f.test).length})),a=Math.max(1,...r.map(f=>f.count)),o=Math.max(1,u.length),i=r.map(f=>{let p=Math.max(f.count?4:0,Math.round(f.count/a*100)),g=Math.round(f.count/o*100);return`<div class="hbrow"><div class="hblabel">${l(f.label)}</div><div class="hbtrack"><div class="hbfill" style="width:${p}%"></div></div><div class="hbval">${R(f.count)}<small>${g}%</small></div></div>`}).join(""),c=n?`<button type="button" class="ihist-jump" data-distsort="${n}">${l(d("insights.viewSessions"))} \u203A</button>`:"";return`<section class="block ihist">
58
- <div class="ihist-head"><h3>${l(e)}</h3><span class="mut">${l(d("insights.distMedian",{v:s(ti(u))}))}</span>${c}</div>
59
- <div class="hbars">${i}</div>
60
- </section>`}function ni(e){let s=Date.now(),n=new Array(28).fill(0);for(let i of e){let c=Number(i.session.lastMessageAt??0);if(!c)continue;let f=Math.floor((s-c)/864e5);f>=0&&f<28&&n[27-f]++}let r=n.reduce((i,c)=>i+c,0);if(!r)return"";let a=Math.max(1,...n),o=n.map((i,c)=>{let f=new Date(s-(27-c)*864e5),p=`${f.getMonth()+1}-${f.getDate()} \xB7 ${i}`;return`<i class="trendbar" style="height:${i?Math.max(8,Math.round(i/a*100)):2}%" title="${l(p)}"></i>`}).join("");return`<section class="block trend-block">
61
- <div class="ihist-head"><h3>${l(d("insights.distTrend"))}</h3><span class="mut">${l(d("insights.distTrendSub"))} \xB7 ${r}</span></div>
62
- <div class="trend">${o}</div>
63
- </section>`}function si(e){let u=ui(e);if(!u.length)return`<div class="insight-empty">${l(d("insights.distEmpty"))}</div>`;let t=u.map(i=>(i.hot?.files??[]).reduce((c,f)=>c+(f.added??0)+(f.removed??0),0)),s=u.map(i=>i.agg.totalSpans),n=u.map(i=>i.agg.failedSpans),r=u.map(i=>i.agg.slowSpans),a=u.map(i=>Se(i)/6e4),o=u.map(i=>i.agg.readWriteRatio).filter(i=>i!==null&&Number.isFinite(i));return`<p class="mut ins-hint">${l(d("insights.distHint"))}</p>
64
- <div class="ihist-grid">
65
- ${ni(e)}
66
- ${Le(d("insights.distSpans"),s,[{label:"0\u201310",test:i=>i<=10},{label:"11\u201350",test:i=>i>10&&i<=50},{label:"51\u2013200",test:i=>i>50&&i<=200},{label:"201\u2013500",test:i=>i>200&&i<=500},{label:"500+",test:i=>i>500}],R,"spans")}
67
- ${Le(d("insights.distFailed"),n,[{label:"0",test:i=>i===0},{label:"1\u20132",test:i=>i>=1&&i<=2},{label:"3\u20135",test:i=>i>=3&&i<=5},{label:"6\u201310",test:i=>i>=6&&i<=10},{label:"10+",test:i=>i>10}],R,"fails")}
68
- ${Le(d("insights.distSlow"),r,[{label:"0",test:i=>i===0},{label:"1\u20132",test:i=>i>=1&&i<=2},{label:"3\u20135",test:i=>i>=3&&i<=5},{label:"5+",test:i=>i>5}],R,"slow")}
69
- ${Le(d("insights.distAgentTime"),a,[{label:"<1m",test:i=>i<1},{label:"1\u20135m",test:i=>i>=1&&i<5},{label:"5\u201330m",test:i=>i>=5&&i<30},{label:"30m\u20132h",test:i=>i>=30&&i<120},{label:"2h+",test:i=>i>=120}],i=>`${Math.round(i)}m`,"agent")}
70
- ${o.length?Le(d("insights.distRw"),o,[{label:"0",test:i=>i===0},{label:"0\u20131",test:i=>i>0&&i<1},{label:"1\u20133",test:i=>i>=1&&i<3},{label:"3+",test:i=>i>=3}],i=>i.toFixed(1)):""}
71
- ${Le(d("insights.distChurn"),t,[{label:"0",test:i=>i===0},{label:"1\u2013100",test:i=>i>0&&i<=100},{label:"100\u20131k",test:i=>i>100&&i<=1e3},{label:"1k\u201310k",test:i=>i>1e3&&i<=1e4},{label:"10k+",test:i=>i>1e4}])}
72
- </div>
73
- ${jt()}`}var me=["research","edit","run","delegate","discuss"];function ri(e){let u=e.filter(i=>i.report&&i.report.status==="ok"&&i.report.agg);if(!u.length)return`<div class="insight-empty">${l(d("insights.distEmpty"))}</div>`;let t={};for(let i of me)t[i]={count:0,ms:0};for(let i of u)for(let c of me){let f=i.report.agg.phase?.[c];f&&(t[c].count+=f.count,t[c].ms+=f.ms)}let s=me.reduce((i,c)=>i+t[c].count,0)||1,n=me.reduce((i,c)=>i+t[c].ms,0)||1,r=me.map((i,c)=>{let f=t[i],p=Math.round(f.count/s*100),g=Math.round(f.ms/n*100),b=c<me.length-1?'<span class="flow-arrow">\u2192</span>':"";return`<div class="flow-node"><i class="flow-dot ${ae(i)}"></i>
74
- <strong>${l(ge(i))}</strong>
75
- <span class="flow-n">${R(f.count)}<em> \xB7 ${p}%</em></span>
76
- <span class="flow-t">${l(z(f.ms))}<em> \xB7 ${g}%</em></span></div>${b}`}).join(""),a=me.map(i=>{let c=t[i],f=c.count/s*100,p=c.ms/n*100;return`<div class="flow-brow">
77
- <span class="flow-blabel"><i class="${ae(i)}"></i>${l(ge(i))}</span>
78
- <span class="flow-btrack"><span class="flow-bfill ${ae(i)}" style="width:${Math.max(2,f).toFixed(1)}%"></span><em>${Math.round(f)}%</em></span>
79
- <span class="flow-btrack"><span class="flow-bfill ${ae(i)}" style="width:${Math.max(2,p).toFixed(1)}%"></span><em>${Math.round(p)}%</em></span>
80
- </div>`}).join(""),o=[...u].sort((i,c)=>Se(c.report)-Se(i.report)).slice(0,40).map(i=>`<button type="button" class="flow-sess" data-session-id="${l(String(i.session.sessionId))}">
81
- <span class="flow-stitle">${l(de(i.session))}</span>
82
- ${Ds(i.report)}
83
- <span class="flow-stime">${l(z(Se(i.report)))}</span></button>`).join("");return`<p class="mut ins-hint">${l(d("insights.flowHint"))}</p>
84
- <section class="block flow-pipe-block">
85
- <h3>${l(d("insights.flowPipeline"))}</h3>
86
- <p class="mut flow-sub">${l(d("insights.flowPipeSub"))}</p>
87
- <div class="flow-pipe">${r}</div>
88
- </section>
89
- <div class="insights-overview-grid">
90
- <section class="block">
91
- <h3>${l(d("insights.flowShares"))}</h3>
92
- <div class="flow-bhead"><span></span><span>${l(d("insights.flowActShare"))}</span><span>${l(d("insights.flowTimeShare"))}</span></div>
93
- <div class="flow-bars">${a}</div>
94
- </section>
95
- <section class="block">
96
- <h3>${l(d("insights.flowRhythm"))}</h3>
97
- <div class="flow-rhythm">${o}</div>
98
- <div class="rl-legend">${me.map(i=>`<span class="rl-item"><i class="${ae(i)}"></i>${l(ge(i))}</span>`).join("")}</div>
99
- </section>
100
- </div>
101
- ${jt()}`}function vs(e,u){let t=e.filter(v=>!!v.report&&v.report.status==="ok");if(!t.length)return`<div class="insight-empty">${l(d("insights.distEmpty"))}</div>`;let s=new Map,n=new Map,r=new Map,a=(v,k,y,S,x)=>{let E=v.get(k);return E||(E={key:k,label:y,sessions:[],reads:0,edits:0,runs:0,fails:0,count:0},v.set(k,E)),E.sessions.some(D=>D.id===S)||E.sessions.push({id:S,title:x}),E};for(let v of t){let k=String(v.session.sessionId),y=de(v.session),S=v.report.hot;for(let x of S?.files??[]){let E=a(s,`file:${x.path}`,x.path,k,y);E.reads+=x.reads,E.edits+=x.edits}for(let x of S?.cmds??[]){let E=a(n,`cmd:${x.cmd}`,x.cmd,k,y);E.runs+=x.runs,E.fails+=x.fails}for(let x of S?.errs??[]){let E=a(r,`err:${x.tool} ${x.result}`,`${x.tool} \xB7 ${qe(x.result)}`,k,y);E.count+=x.count}}let o=(v,k)=>k.sessions.length-v.sessions.length,i=[...s.values()].sort((v,k)=>o(v,k)||k.edits+k.reads-(v.edits+v.reads)).slice(0,12),c=[...n.values()].sort((v,k)=>o(v,k)||k.fails-v.fails||k.runs-v.runs).slice(0,12),f=[...r.values()].sort((v,k)=>o(v,k)||k.count-v.count).slice(0,10),p=(v,k,y)=>`
102
- <section class="block">
103
- <h3>${l(v)}</h3>
104
- <div class="hotlist">${k.length?k.map(S=>{let x=u.has(S.key),E=x?`<div class="hot-sess">${S.sessions.map(D=>`<button type="button" class="hot-sesslink" data-session-id="${l(D.id)}">${l(D.title||D.id)}</button>`).join("")}</div>`:"";return`<div class="hotitem${x?" open":""}">
105
- <button type="button" class="hotrow" data-hotkey="${l(S.key)}" aria-expanded="${x}">
106
- <span class="hotlabel" title="${l(S.label)}">${l(S.label)}</span>
107
- <span class="hotmeta">${y(S)}</span>
108
- <span class="hotses">${S.sessions.length} ${l(d("insights.hotSessionsCol"))}</span>
109
- </button>${E}
110
- </div>`}).join(""):'<p class="mut">-</p>'}</div>
111
- </section>`,g=new Map;for(let v of t){let k=Ze(v);if(!k)continue;let y=g.get(k)??{sessions:0,fails:0};y.sessions+=1,y.fails+=v.report.agg.failedSpans,g.set(k,y)}let b=[...g.entries()].map(([v,k])=>({id:v,...k})).sort((v,k)=>k.fails-v.fails||k.sessions-v.sessions).slice(0,10),h=Math.max(1,...b.map(v=>v.sessions)),C=[...t].filter(v=>v.report.agg.slowSpans>0).sort((v,k)=>k.report.agg.slowSpans-v.report.agg.slowSpans).slice(0,8);return`<p class="mut ins-hint">${l(d("insights.hotHint"))}</p>
112
- <div class="hot-grid">
113
- ${p(d("insights.hotFiles"),i,v=>`${l(d("insights.readsShort"))}${v.reads} \xB7 ${l(d("insights.editsShort"))}${v.edits}`)}
114
- ${p(d("insights.hotCommands"),c,v=>`${v.runs}\xD7${v.fails?` \xB7 <span class="bad">${v.fails} ${l(d("insights.hotFailsCol"))}</span>`:""}`)}
115
- ${p(d("insights.hotErrors"),f,v=>`${v.count}\xD7`)}
116
- <section class="block">
117
- <h3>${l(d("insights.hotProjects"))}</h3>
118
- <div class="hbars">${b.length?b.map(v=>{let k=Math.max(4,Math.round(v.sessions/h*100));return`<button type="button" class="hbrow hbrow-click" data-hotproject="${l(v.id)}"><div class="hblabel">${l(v.id)}</div><div class="hbtrack"><div class="hbfill" style="width:${k}%"></div></div><div class="hbval">${R(v.sessions)}<small>${v.fails} ${l(d("insights.hotFailsCol"))}</small></div></button>`}).join(""):'<p class="mut">-</p>'}</div>
119
- </section>
120
- <section class="block hot-sessions">
121
- <h3>${l(d("insights.hotSlowSessions"))}</h3>
122
- <div class="slist">${C.length?C.map(v=>{let k=v.report.agg;return`<button type="button" class="srow" data-session-id="${l(String(v.session.sessionId))}">
123
- <div class="srmain"><strong>${l(de(v.session))}</strong>
124
- <small>${l(fe(v.session))} \xB7 ${l(String(v.session.cliId??"-"))}</small></div>
125
- <div class="srstats"><b>${l(d("insights.hotSlowCol"))}<em>${R(k.slowSpans)}</em></b><b>span<em>${R(k.totalSpans)}</em></b></div>
126
- </button>`}).join(""):'<p class="mut">-</p>'}</div>
127
- </section>
128
- </div>`}var ii=[{key:"recent",label:"insights.sortRecent"},{key:"review",label:"insights.sortReview"},{key:"spans",label:"insights.sortSpans"},{key:"fails",label:"insights.sortFails"},{key:"slow",label:"insights.sortSlow"},{key:"agent",label:"insights.sortAgent"}];function oi(e,u){let t=`<span class="sesssort-label mut">${l(d("insights.sortLabel"))}</span>`+ii.map(n=>`<button type="button" class="spanchip${n.key===e?" on":""}" data-sesssort="${n.key}">${l(d(n.label))}</button>`).join(""),s='<span class="sesssort-sep"></span>'+[["card","insights.layoutCard"],["table","insights.layoutTable"]].map(([n,r])=>`<button type="button" class="spanchip${u===n?" on":""}" data-sesslayout="${n}">${l(d(r))}</button>`).join("");return t+s}function ai(e){return e?.status==="ok"?e.agg.failedSpans*6+e.agg.slowSpans*3+e.suggestions.filter(u=>u.severity==="bad").length*5:0}function ci(e,u){let t=n=>Number(n.session.lastMessageAt??0),s=n=>{let r=n.report,a=r?.status==="ok"?r.agg:null;switch(u){case"spans":return a?.totalSpans??-1;case"fails":return a?.failedSpans??-1;case"slow":return a?.slowSpans??-1;case"agent":return r?.status==="ok"?Se(r):-1;case"review":return ai(r);default:return 0}};return[...e].sort((n,r)=>u==="recent"?t(r)-t(n):s(r)-s(n)||t(r)-t(n))}function li(e,u,t=!1){if(!e.length)return`<div class="insight-empty">${l(d("insights.empty"))}</div>`;let s=(n,r,a=!1)=>`<b${a?' class="bad"':""}>${l(n)}<em>${l(r)}</em></b>`;return`<div class="slist${t?" wide":""}">${e.map(n=>{let r=n.session,a=n.report,o=a?.status==="ok",i=a?.agg,c=r.sessionId===u?" on":"",f=zt(a)?" review":"",p=i?.phase?.research?.count??0,g=i?.phase?.edit?.count??0;return`<button type="button" class="srow${c}${f}" data-session-id="${l(String(r.sessionId))}">
129
- <div class="srmain">
130
- <strong>${l(de(r))}</strong>
131
- <small>${l(fe(r))} \xB7 ${l(String(r.cliId??"-"))}${r.workingDir?` \xB7 ${l(Ze(n))}`:""} \xB7 ${l(Lu(r.lastMessageAt??r.spawnedAt??0))}</small>
132
- ${o?Ds(a):""}
133
- </div>
134
- ${o?`<div class="srstats">
135
- ${s(d("insights.spansShort"),R(i.totalSpans))}
136
- ${s(d("insights.failedShort"),R(i.failedSpans),i.failedSpans>0)}
137
- ${s(d("insights.slowShort"),R(i.slowSpans))}
138
- ${t?s(d("insights.readsShort"),R(p))+s(d("insights.editsShort"),R(g))+s(d("insights.durShort"),z(Se(a))):""}
139
- ${s(d("insights.rwShort"),i.readWriteRatio!==null?i.readWriteRatio.toFixed(1):"-")}
140
- </div>`:`<div class="srmsg">${l(Nt(a,n.error))}</div>`}
141
- </button>`}).join("")}</div>`}function di(e,u){if(!e.length)return`<div class="insight-empty">${l(d("insights.empty"))}</div>`;let t=`<div class="strow sthead">
142
- <span class="stc-title">${l(d("insights.colTitle"))}</span>
143
- <span class="stc-proj">${l(d("insights.colProject"))}</span>
144
- <span class="stc-num">${l(d("insights.spansShort"))}</span>
145
- <span class="stc-num">${l(d("insights.failedShort"))}</span>
146
- <span class="stc-num">${l(d("insights.slowShort"))}</span>
147
- <span class="stc-num">${l(d("insights.rwShort"))}</span>
148
- <span class="stc-num">${l(d("insights.durShort"))}</span>
149
- <span class="stc-num">${l(d("insights.colTime"))}</span>
150
- </div>`,s=e.map(n=>{let r=n.session,a=n.report,o=a?.status==="ok",i=a?.agg,c=r.sessionId===u?" on":"",f=zt(a)?" review":"",p=o?`<span class="stc-num">${R(i.totalSpans)}</span>
151
- <span class="stc-num${i.failedSpans?" bad":""}">${R(i.failedSpans)}</span>
152
- <span class="stc-num">${R(i.slowSpans)}</span>
153
- <span class="stc-num">${i.readWriteRatio!==null?i.readWriteRatio.toFixed(1):"-"}</span>
154
- <span class="stc-num">${l(z(Se(a)))}</span>`:`<span class="stc-msg">${l(Nt(a,n.error))}</span>`;return`<button type="button" class="strow${c}${f}${o?"":" nostat"}" data-session-id="${l(String(r.sessionId))}">
155
- <span class="stc-title"><strong>${l(de(r))}</strong><small>${l(fe(r))} \xB7 ${l(String(r.cliId??"-"))}</small></span>
156
- <span class="stc-proj">${l(r.workingDir?Ze(n):"-")}</span>
157
- ${p}
158
- <span class="stc-num stc-time">${l(Lu(r.lastMessageAt??r.spawnedAt??0))}</span>
159
- </button>`}).join("");return`<div class="stable">${t}${s}</div>`}function Ts(e){let u=`insights.intent.${e}`,t=d(u);return t===u?e:t}function qe(e){let u=`insights.result.${e}`,t=d(u);return t===u?e:t}function $e(e){let u=`insights.tag.${e}`,t=d(u);return t===u?e:t}function le(e,u){let t=`insights.${e}.${u.id}`,s=d(t,u.params);return s===t?u.id:s}var fi=e=>le("turnHeadline",e),ks={"shell command":"insights.struct.shell","file edit":"insights.struct.fileEdit","read/search":"insights.struct.readSearch","agent task":"insights.struct.agentTask","tool input":"insights.struct.toolInput","tool result":"insights.struct.toolResult","tool error":"insights.struct.toolError","patch failed":"insights.struct.patchFailed","patch applied":"insights.struct.patchApplied"};function _s(e){if(!e)return"";let u=e.match(/^exit (-?\d+)$/);return u?d("insights.struct.exit",{code:u[1]}):ks[e]?$s(ks[e],e):e}var Ve=new Set(["tool_error","test_failed","typecheck_failed","lint_failed","command_failed","timeout","no_output"]);function pi(e){return e.status==="error"||!!e.result&&Ve.has(e.result.category)}function Vt(e,u){return e&&e.kind!=="unknown"?Ts(e.kind):u}function Ms(e){return Vt(e.intent,e.tool)}function Pt(e){return e?[e.kind!=="unknown"?Ts(e.kind):"",e.subject,e.detail].filter(Boolean).join(" \xB7 "):""}var hi=["failure","retry","read_write_imbalance","slow"];function bi(e){for(let u of hi)if(e.includes(u)){let t=d(`insights.advice.${u}`);if(t!==`insights.advice.${u}`)return t}return""}function mi(e,u){let t=e.spans??[],s=u?(e.recommendations??[]).find(r=>r.id===u)??null:null;if(!s)return{rec:null,spanIdx:new Set,turnIdx:new Set};let n=(s.evidence?.spanIndexes??[]).filter(r=>Number.isInteger(r)&&r>=0&&r<t.length);return{rec:s,spanIdx:new Set(n),turnIdx:new Set(s.evidence?.turnIndexes??[])}}function gi(e,u){let t=e.recommendations??[];return t.length?`<div class="reclist">${[...t].sort((n,r)=>Re[n.severity]-Re[r.severity]).map(n=>{let r=n.id===u,a=(n.evidence?.spanIndexes?.length??0)>0||(n.evidence?.turnIndexes?.length??0)>0,o=le("impact",n.impact),i=le("why",n.why),c=n.nextActions.map(p=>`<li>${l(le("action",p))}</li>`).join(""),f=a?`<span class="rec-cta">${l(r?d("insights.diagActive"):d("insights.diagShow"))}</span>`:"";return`<button type="button" class="rec ${n.severity}${a?" rec-clickable":""}${r?" active":""}" data-rec="${l(n.id)}">
160
- <div class="rectop"><b>${l(le("rec",{id:n.id,params:{}}))}</b><span>${l(Ss(n.severity))}</span></div>
161
- ${o?`<div class="rec-impact">${l(o)}</div>`:""}
162
- ${c?`<ul class="rec-actions">${c}</ul>`:""}
163
- ${i?`<div class="rec-why">${l(i)}</div>`:""}
164
- ${f}
165
- </button>`}).join("")}</div>`:`<p class="mut">${l(d("insights.noRecommendations"))}</p>`}function xi(e,u){let t=`${Ms(e)}${e.intent?.subject?` ${e.intent.subject}`:""}${e.result?` \u2192 ${qe(e.result.category)}`:""} \xB7 ${z(e.durationMs)}`;return`<i class="op ph-${l(Ge(e.phase))}${pi(e)?" bad":""}${u?" cur":""}" title="${l(t)}"></i>`}function Is(e,u,t,s,n=!0){let r=e[u],a=r.intent?.subject?`<code class="span-subj">${l(r.intent.subject)}</code>`:"",o=r.result,i=o&&Ve.has(o.category)?`<span class="span-res rc-bad">${l(qe(o.category))}${o.exitCode!==void 0?` \xB7 exit ${o.exitCode}`:""}</span>`:"",f=(r.tags??[]).filter(b=>b!=="normal"&&b!=="diagnostic").map(b=>`<span class="span-tag tg-${l(b)}">${l($e(b))}</span>`).join(""),p=n?`<span class="span-detail-btn" aria-hidden="true">${l(s?d("insights.dCollapse"):d("insights.dDetail"))}</span>`:"",g=n?` data-span-idx="${u}" role="button" tabindex="0" aria-expanded="${s}"`:"";return`<div class="spanrow ph-${l(Ge(r.phase))}${r.status==="error"?" error":""}${t?" hot":""}${s?" open":""}">
166
- <div class="sprow-line${n?" clickable":""}"${g}>
167
- <span class="span-turn" title="${l(`${d("insights.dStart")} ${z(r.relStartMs)}`)}">#${l(String(r.turnIndex??0))}</span>
168
- <span class="spanst ${l(r.status)}">${l(Gr(r.status))}</span>
169
- <b class="span-what">${l(Ms(r))}</b>${a}
170
- ${i}
171
- <span class="span-tags">${f}</span>
172
- <span class="span-dur">${l(z(r.durationMs))}</span>
173
- ${p}
174
- </div>
175
- ${n&&s?vi(e,u):""}
176
- </div>`}function ku(e,u){return u?.text?`<div class="span-io"><span class="span-io-label">${l(e)}</span><pre class="span-io-text">${l(u.text)}${u.truncated?`
177
- \u2026`:""}</pre></div>`:""}function vi(e,u){let t=e[u],s=t.detail,n=s?.evidence??t.evidence,r=n?`${ku(d("insights.dCommand"),n.command)}${ku(d("insights.dCmdOutput"),n.output)}`:"",a=[[d("insights.dPhase"),ge(t.phase)],[d("insights.dStart"),z(t.relStartMs)],[d("insights.dDur"),z(t.durationMs)]],o=Pt(t.intent);o&&a.push([d("insights.dIntent"),o]),t.result&&a.push([d("insights.dResult"),`${qe(t.result.category)}${t.result.exitCode!==void 0?` \xB7 exit ${t.result.exitCode}`:""}`]),t.inputSummary&&a.push([d("insights.dIn"),_s(t.inputSummary)]),t.outputSummary&&a.push([d("insights.dOut"),_s(t.outputSummary)]);let i=(t.tags??[]).filter(h=>h!=="normal");i.length&&a.push([d("insights.dTags"),i.map($e).join("\u3001")]);let c=s?.context?.previousIntent?Pt(s.context.previousIntent):"",f=s?.context?.nextIntent?Pt(s.context.nextIntent):"",p=c||f?`<div class="span-flank">${c?`<span class="sf-prev">\u2191 ${l(c)}</span>`:""}${f?`<span class="sf-next">\u2193 ${l(f)}</span>`:""}</div>`:"",b=e.map((h,C)=>({sp:h,i:C})).filter(h=>h.sp.turnIndex===t.turnIndex).sort((h,C)=>(h.sp.relStartMs??0)-(C.sp.relStartMs??0)).map(h=>xi(h.sp,h.i===u)).join("");return`<div class="spandetail">
178
- <dl class="span-kv">${a.map(([h,C])=>`<div><dt>${l(h)}</dt><dd>${l(C)}</dd></div>`).join("")}</dl>
179
- ${r}
180
- ${p}
181
- <div class="span-ctx"><span class="span-ctx-label">${l(d("insights.dTurnContext",{turn:t.turnIndex}))}</span><div class="opstrip">${b}</div></div>
182
- </div>`}var ys=["failure","slow","retry","read_write_imbalance"];function ki(e){let u=e.workSummary;if(!u||!u.fileChanges?.length&&!u.commandsRun?.length)return"";let t=u.fileChanges??[],s=u.commandsRun??[],n=t.length?t.map(a=>{let o=a.added||a.removed?`<span class="ws-stat"><span class="ws-add">+${a.added??0}</span><span class="ws-del">\u2212${a.removed??0}</span></span>`:a.edits?`<span class="ws-stat ws-stat-edits">${l(d("insights.wsEdits",{n:a.edits}))}</span>`:"";return`<div class="ws-row"><code class="ws-path" title="${l(a.path)}">${l(a.path)}</code><span class="ws-meta">${l(d("insights.wsReads",{n:a.reads}))}</span>${o}</div>`}).join(""):`<p class="mut">${l(d("insights.wsNoFiles"))}</p>`,r=s.length?s.map(a=>{let o=a.failures>0;return`<div class="ws-row${o?" bad":""}"><code class="ws-cmd" title="${l(a.command.text)}">${l(a.command.text)}${a.command.truncated?"\u2026":""}</code><span class="ws-meta">${a.count>1?`<span class="ws-x">\xD7${a.count}</span>`:""}${o?`<span class="ws-fail">${l(d("insights.wsFail",{n:a.failures}))}</span>`:""}</span></div>`}).join(""):`<p class="mut">${l(d("insights.wsNoCmds"))}</p>`;return`<div class="worksum">
183
- <section class="ws-panel"><h4>${l(d("insights.wsFiles",{n:t.length}))}</h4><div class="ws-list">${n}</div></section>
184
- <section class="ws-panel"><h4>${l(d("insights.wsCmds",{n:s.length}))}</h4><div class="ws-list">${r}</div></section>
185
- </div>`}function _i(e,u,t,s){let n=e.spans??[],r=ki(e);if(!n.length)return`${r}<p class="mut">${l(d("insights.noSpans"))}</p>`;let a=[...n.keys()].sort((b,h)=>(n[b].relStartMs??0)-(n[h].relStartMs??0)),o=new Map;for(let b of a)for(let h of n[b].tags??[])ys.includes(h)&&o.set(h,(o.get(h)??0)+1);let i=(b,h,C)=>`<button type="button" class="spanchip${b==="all"?"":` tg-${l(b)}`}${t===b?" on":""}" data-spanfilter="${l(b)}">${l(h)} <b>${C}</b></button>`,c=[i("all",d("insights.spanAll"),a.length),...ys.filter(b=>o.has(b)).map(b=>i(b,$e(b),o.get(b)))].join(""),f=t==="all"?a:a.filter(b=>n[b].tags?.includes(t)),p=u.rec?`<div class="ev-reason">${l(le("why",u.rec.why))}</div>`:"",g=f.length?f.map(b=>Is(n,b,u.spanIdx.has(b),s.has(b))).join(""):`<p class="mut">${l(d("insights.evNoFlags"))}</p>`;return`<div class="evidence">${r}${p}<div class="spanfilter">${c}</div><div class="spantable">${g}</div></div>`}function _u(e){if(!e)return`<section class="insight-detail"><p class="mut">${l(d("insights.selectSession"))}</p></section>`;let u=e.session;return`<section class="insight-detail">
186
- <div class="shead">
187
- <h2>${l(de(u))}</h2>
188
- <div class="smeta">${l(fe(u))} \xB7 ${l(String(u.cliId??"-"))} \xB7 <code>${l(String(u.sessionId??""))}</code></div>
189
- </div>
190
- <div id="insight-detail-body"><p class="mut">${l(d("insights.detailLoading"))}</p></div>
191
- </section>`}function Gt(e){return e.replace(/<(mentions|attachments|available_bots|system-reminder|quoted_messages|sender)\b[\s\S]*?<\/\1>/g," ").replace(/<botmux_reminder>[\s\S]*?<\/botmux_reminder>/g," ").replace(/<\/?(user_message|local-command-[a-z]+)>/g," ").replace(/<sender\b[^>]*\/?>/g," ").replace(/<mention\b[^>]*\/?>/g," ").replace(/\[用户引用了消息[\s\S]*?\]/g," ").replace(/\[来自[^\]]*@mention\]/g," ").replace(/\[(图片|文件)\s*\d+\][^\n]*/g," ").replace(/[ \t]+/g," ").replace(/ *\n */g,`
192
- `).replace(/\n{3,}/g,`
193
-
194
- `).trim()}var yu=new Bt({html:!1,linkify:!0,breaks:!0});yu.validateLink=e=>/^(https?:|mailto:)/i.test(e.trim());var Es=yu.renderer.rules.link_open;yu.renderer.rules.link_open=(e,u,t,s,n)=>(e[u].attrSet("target","_blank"),e[u].attrSet("rel","noopener noreferrer nofollow"),Es?Es(e,u,t,s,n):n.renderToken(e,u,t));function Eu(e){try{return yu.render(e).trim()||`<p>${l(e)}</p>`}catch{return`<p>${l(e)}</p>`}}function yi(e){let u=e.status==="error"||!!e.result&&Ve.has(e.result.category),s=`${Vt(e.intent,String(e.label.params.tool??e.kind))}${e.intent?.subject?` ${e.intent.subject}`:""}${e.result?` \u2192 ${qe(e.result.category)}`:""} \xB7 ${z(e.durationMs)}`;return`<i class="op ph-${l(Ge(e.phase))}${u?" bad":""}" title="${l(s)}"></i>`}function Zt(e){if(!e?.kind)return"";if(e.kind==="a2a_agent"){let t=e.agentName||e.senderName;return`<span class="tp-label tp-src tp-src-a2a">\u{1F91D} ${t?`${l(t)} \xB7 a2a`:"a2a"}</span>`}return e.kind==="system"?`<span class="tp-label tp-src tp-src-system">\u2699\uFE0F ${l(d("insights.senderSystem"))}</span>`:`<span class="tp-label tp-src tp-src-user">\u{1F464} ${(e.senderName?l(e.senderName):"")||l(d("insights.turnPrompt"))}</span>`}function Wt(e){let u=(e?.mentionedNames??[]).filter(Boolean);return u.length?`<span class="tp-mentions">${l(d("insights.srcMentions"))} ${u.map(t=>"@"+l(t)).join(" ")}</span>`:""}function Ei(e,u,t){let s=u?.source,n=Zt(s)||`<span class="tp-label">${l(d("insights.turnPrompt"))}</span>`,r=Wt(s),a=u?.text?Gt(u.text)||u.text:"",o=u?.truncated,i=t?`<pre class="tp-raw modal-raw">${l(a)}${o?`
195
- \u2026`:""}</pre>`:`<div class="md-body modal-md">${Eu(a+(o?" \u2026":""))}</div>`;return`<div class="modal-backdrop" data-modal-close></div>
196
- <div class="modal-panel" role="dialog" aria-modal="true" aria-label="${l(d("insights.turnPrompt"))}">
197
- <div class="modal-head">
198
- <div class="modal-who">${n}${r}<span class="modal-turnno">#${l(String(e))}</span></div>
199
- <div class="modal-acts">
200
- <button type="button" class="tp-toggle" data-modal-raw>${l(t?d("insights.turnPromptRendered"):d("insights.turnPromptRaw"))}</button>
201
- <button type="button" class="modal-close" data-modal-close aria-label="${l(d("insights.modalClose"))}">\xD7</button>
202
- </div>
203
- </div>
204
- <div class="modal-body">${i}${o?`<p class="modal-trunc mut">${l(d("insights.promptTruncated"))}</p>`:""}</div>
205
- </div>`}function Si(e,u,t,s,n,r,a,o){let i=n.has(t.turnIndex),c=s.turnIdx.has(t.turnIndex)?" hot":"",f=t.metrics,p=t.severity!=="info"?bi(t.tags):"",g=t.events.map(yi).join(""),b=t.prompt?.text?Gt(t.prompt.text)||t.prompt.text:"",h=a.has(t.turnIndex),C=o.has(t.turnIndex),v=t.prompt?.truncated?" \u2026":"",k=C?`<pre class="tp-raw">${l(b)}${t.prompt?.truncated?`
206
- \u2026`:""}</pre>`:`<div class="md-body">${Eu(b+v)}</div>`,y=Zt(t.prompt?.source)||`<span class="tp-label">${l(d("insights.turnPrompt"))}</span>`,S=Wt(t.prompt?.source),x=b?`<div class="turn-prompt">
207
- ${y}
208
- <div class="tp-body">
209
- <div class="tp-md${h?" expanded":""}">${k}</div>
210
- <div class="tp-actions">
211
- ${S}
212
- <button type="button" class="tp-toggle" data-prompt-expand="${l(String(t.turnIndex))}">${l(h?d("insights.turnPromptCollapse"):d("insights.turnPromptExpand"))}</button>
213
- <button type="button" class="tp-toggle" data-prompt-raw="${l(String(t.turnIndex))}">${l(C?d("insights.turnPromptRendered"):d("insights.turnPromptRaw"))}</button>
214
- <button type="button" class="tp-toggle" data-prompt-full="${l(String(t.turnIndex))}">${l(d("insights.turnPromptFull"))}</button>
215
- </div>
216
- </div>
217
- </div>`:"",E=(P,F,B=!1)=>`<span class="tm${B?" bad":""}"><i>${l(P)}</i><b>${l(F)}</b></span>`,D=`${d("insights.mEdits")}${f.edits} ${d("insights.mRuns")}${f.runs}${f.failures?` \xB7 ${d("insights.mFailures")}${f.failures}`:""} \xB7 ${z(f.durationMs)}`,L=i?`<div class="turn-detail">
218
- <div class="turn-metrics">${E(d("insights.mReads"),String(f.reads))}${E(d("insights.mEdits"),String(f.edits))}${E(d("insights.mRuns"),String(f.runs))}${f.failures?E(d("insights.mFailures"),String(f.failures),!0):""}${E(d("insights.mDur"),z(f.durationMs))}</div>
219
- <div class="spantable">${t.events.map(P=>Is(u,P.spanIndex,!1,r.has(P.spanIndex),!0)).join("")}</div>
220
- </div>`:"";return`<div class="turnrow sev-${l(t.severity)}${c}${t.severity!=="info"?" flagged":""}${i?" open":""}" data-turn-card="${l(String(t.turnIndex))}">
221
- <div class="turnline">
222
- <span class="turn-no">#${l(String(t.turnIndex))}</span>
223
- <b class="turn-headline">${l(fi(t.headline))}</b>
224
- <div class="opstrip turn-strip">${g}</div>
225
- <span class="turn-mini">${l(D)}</span>
226
- <button type="button" class="turn-expand-btn" data-turn="${l(String(t.turnIndex))}" aria-expanded="${i}">${l(i?d("insights.turnCollapse"):d("insights.turnExpand",{count:t.events.length}))}</button>
227
- </div>
228
- ${x}
229
- ${p?`<div class="turn-advice">${l(p)}</div>`:""}
230
- ${L}
231
- </div>`}function vu(e){return e.prompt?.source?.kind??"user"}function $i(e,u,t,s,n,r,a,o){let i=e.spans??[],c=e.turnTimeline??[];if(!c.length)return`<p class="mut">${l(d("insights.noSpans"))}</p>`;let f=e.recommendations??[],p=f.some(F=>(F.evidence?.turnIndexes?.length??0)>0),g={user:0,a2a_agent:0,system:0};for(let F of c)g[vu(F)]++;let b=(F,B,O,Z="")=>`<button type="button" class="spanchip${Z}${o===F?" on":""}" data-ledgersender="${F}">${l(B)} <b>${O}</b></button>`,C=`<div class="spanfilter ledgersender">${[b("all",d("insights.spanAll"),g.user+g.a2a_agent),...g.user?[b("user",`\u{1F464} ${d("insights.senderHuman")}`,g.user)]:[],...g.a2a_agent?[b("a2a_agent",`\u{1F91D} ${d("insights.senderA2A")}`,g.a2a_agent)]:[],...g.system?[b("system",`\u2699\uFE0F ${d("insights.senderSystem")}`,g.system," spanchip-sys")]:[]].join("")}</div>`,v=o==="all"?c.filter(F=>vu(F)!=="system"):c.filter(F=>vu(F)===o),k=v.filter(F=>F.severity!=="info").length,y=(F,B)=>`<button type="button" class="spanchip${n===F?" on":""}" data-ledgersort="${F}">${l(B)}</button>`,S=p?`<div class="spanfilter ledgersort">${y("normal",d("insights.ledgerNormal"))}${y("grouped",d("insights.ledgerGrouped"))}</div>`:"",x=`${C}${S}`,E=`<p class="turn-sum mut">${l(d("insights.turnSummary",{total:v.length,flagged:k}))}</p>`,D=e.meta?.capped?`<p class="turn-hidden mut">${l(d("insights.turnsCapped",{shown:String(e.meta.spansReturned??i.length),total:String(e.meta.spansTotal??i.length)}))}</p>`:"",L=F=>Si(e,i,F,u,t,s,r,a);if(!v.length)return`<div class="turnlist">${x}<p class="mut">${l(d("insights.evNoFlags"))}</p></div>`;if(n==="grouped"&&p){let F=[...f].sort((q,N)=>Re[q.severity]-Re[N.severity]),B=new Map(v.map(q=>[q.turnIndex,q])),O=new Map;for(let q of F)for(let N of q.evidence?.turnIndexes??[])B.has(N)&&!O.has(N)&&O.set(N,q.id);let Z=(q,N,K)=>`<div class="turn-group-head sev-${l(q)}"><b>${l(N)}</b><span>${l(d("insights.ledgerGroupCount",{count:K}))}</span></div>`,J=[];for(let q of F){let N=v.filter(K=>O.get(K.turnIndex)===q.id).sort((K,we)=>K.turnIndex-we.turnIndex);N.length&&J.push(`<div class="turn-group">${Z(q.severity,le("rec",{id:q.id,params:{}}),N.length)}${N.map(L).join("")}</div>`)}let W=v.filter(q=>!O.has(q.turnIndex)).sort((q,N)=>q.turnIndex-N.turnIndex);return W.length&&J.push(`<div class="turn-group">${Z("info",d("insights.ledgerOther"),W.length)}${W.map(L).join("")}</div>`),`<div class="turnlist">${E}${x}${J.join("")}${D}</div>`}let P=[...v].sort((F,B)=>F.turnIndex-B.turnIndex);return`<div class="turnlist">${E}${x}${P.map(L).join("")}${D}</div>`}function wi(e){let u=[];for(let t of e)if(t.role==="agent"){let s=u[u.length-1];s&&s.kind==="ops"&&s.turnIndex===t.turnIndex?s.msgs.push(t):u.push({kind:"ops",turnIndex:t.turnIndex,msgs:[t]})}else u.push({kind:"prompt",msg:t});return u}function Ls(e,u){let t=u.get(e);return t?.length?t.map(s=>`<span class="cbub-rec" title="${l(le("rec",{id:s,params:{}}))}">\u{1F4A1} ${l(le("rec",{id:s,params:{}}))}</span>`).join(""):""}function Ci(e,u){let t=e.role==="user"?"right":"left",s=Zt(e.source)||`<span class="tp-label">${l(d("insights.turnPrompt"))}</span>`,n=e.text?Gt(e.text)||e.text:"",r=e.severity&&e.severity!=="info"?` sev-${l(e.severity)}`:"";return`<div class="cbub cbub-${t} role-${l(e.role)}${r}">
232
- <div class="cbub-head">${s}${Wt(e.source)}<span class="cbub-turn">#${l(String(e.turnIndex))}</span>${Ls(e.turnIndex,u)}</div>
233
- <div class="cbub-body"><div class="md-body">${n?Eu(n+(e.truncated?" \u2026":"")):`<p class="mut">${l(d("insights.replayNoText"))}</p>`}</div></div>
234
- ${e.truncated?`<div class="cbub-foot"><button type="button" class="tp-toggle" data-convo-full="${l(String(e.turnIndex))}">${l(d("insights.turnPromptFull"))}</button></div>`:""}
235
- </div>`}function Di(e,u){let t=e.event;if(!t)return"";let s=t.status==="error"||!!t.result&&Ve.has(t.result.category),n=t.intent?.subject?`<code class="span-subj">${l(t.intent.subject)}</code>`:"",r=Vt(t.intent,String(t.label?.params?.tool??t.kind)),a=t.result&&Ve.has(t.result.category)?`<span class="span-res rc-bad">${l(qe(t.result.category))}${t.result.exitCode!==void 0?` \xB7 exit ${t.result.exitCode}`:""}</span>`:"",o=t.evidence,i=!!(o?.command?.text||o?.output?.text),c=u&&o?`${ku(d("insights.dCommand"),o.command)}${ku(d("insights.dCmdOutput"),o.output)}`:"",p=(e.tags??[]).filter(g=>g!=="normal"&&g!=="diagnostic").map(g=>`<span class="span-tag tg-${l(g)}">${l($e(g))}</span>`).join("");return`<div class="cop${s?" bad":""}${u?" open":""}">
236
- <div class="cop-line${i?" clickable":""}"${i?` data-convo-op="${l(e.id)}" role="button" tabindex="0"`:""}>
237
- <i class="op ph-${l(Ge(t.phase))}${s?" bad":""}"></i>
238
- <b class="span-what">${l(r)}</b>${n}${a}
239
- <span class="span-tags">${p}</span>
240
- <span class="span-dur">${l(z(t.durationMs))}</span>
241
- ${i?`<span class="span-detail-btn" aria-hidden="true">${l(u?d("insights.dCollapse"):d("insights.dDetail"))}</span>`:""}
242
- </div>
243
- ${c?`<div class="spandetail">${c}</div>`:""}
244
- </div>`}function Ai(e,u,t){let s=e.msgs.filter(i=>i.text&&!i.event),n=e.msgs.filter(i=>i.event),r=e.msgs.some(i=>i.severity==="bad")?" sev-bad":e.msgs.some(i=>i.severity==="warn")?" sev-warn":"",a=s.map(i=>`<div class="cbub-say"><div class="md-body">${Eu(i.text)}</div></div>`).join(""),o=n.map(i=>Di(i,u.has(i.id))).join("");return`<div class="cbub cbub-left role-agent cbub-ops${r}">
245
- <div class="cbub-head"><span class="tp-label tp-src tp-src-system">\u{1F916} ${l(d("insights.replayAgent"))}</span><span class="cbub-turn">#${l(String(e.turnIndex))}</span>${n.length?`<span class="cbub-opcount">${l(d("insights.replayOps",{count:n.length}))}</span>`:""}${Ls(e.turnIndex,t)}</div>
246
- ${a?`<div class="cbub-saywrap">${a}</div>`:""}
247
- ${o?`<div class="cbub-ops-list">${o}</div>`:""}
248
- </div>`}function Fi(e,u){if(!e.messages.length)return e.loading?`<p class="mut">${l(d("insights.detailLoading"))}</p>`:`<p class="mut">${l(d("insights.replayEmpty"))}</p>`;let s=wi(e.messages).map(r=>r.kind==="prompt"?Ci(r.msg,u):Ai(r,e.openOps,u)).join(""),n=e.hasMore?`<div class="convo-more"><button type="button" class="primary convo-loadmore"${e.loading?" disabled":""}>${l(e.loading?d("insights.detailLoading"):d("insights.replayLoadMore",{shown:e.messages.length,total:e.total}))}</button></div>`:`<p class="convo-more mut">${l(d("insights.replayAllLoaded",{total:e.total}))}</p>`;return`${s}${n}`}var Ti=[{key:"all",label:"spanAll"},{key:"user",label:"senderHuman"},{key:"a2a_agent",label:"senderA2A"},{key:"system",label:"senderSystem"}],Mi=[{key:"all",label:"spanAll"},{key:"failure",label:"tag.failure"},{key:"slow",label:"tag.slow"}];function Ii(e,u){let t=Ti.map(n=>`<button type="button" class="spanchip${e.role===n.key?" on":""}" data-convo-role="${n.key}">${l(n.label.includes(".")?$e(n.label.split(".")[1]):d("insights."+n.label))}</button>`).join(""),s=Mi.map(n=>`<button type="button" class="spanchip${e.tag===n.key?" on":""}" data-convo-tag="${n.key}">${l(n.label.includes(".")?$e(n.label.split(".")[1]):d("insights."+n.label))}</button>`).join("");return`<div class="convo">
249
- <div class="convo-controls">
250
- <input type="search" class="convo-search" placeholder="${l(d("insights.replaySearch"))}" value="${l(e.q)}">
251
- <div class="convo-filters">
252
- <div class="spanfilter convo-rolefilter"><span class="convo-flabel">${l(d("insights.replayBy"))}</span>${t}</div>
253
- <div class="spanfilter convo-tagfilter"><span class="convo-flabel">${l(d("insights.replayState"))}</span>${s}</div>
254
- </div>
255
- </div>
256
- <div class="convothread">${Fi(e,u)}</div>
257
- </div>`}function Li(e){let u=new Map;for(let n of e.events??[])n.phase&&u.set(n.phase,(u.get(n.phase)??0)+(n.durationMs??0)+1);let t="discuss",s=-1;for(let[n,r]of u)r>s&&(s=r,t=n);return t}function Ri(e,u,t){let s=[...e.turnTimeline??[]].sort((o,i)=>o.turnIndex-i.turnIndex);if(s.length<2)return"";let n=u.turnIdx.size>0,r=s.map(o=>{let i=o.metrics,c=Li(o),f=(o.tags??[]).includes("failure")||(o.events??[]).some(x=>x.status==="error"),p=(o.tags??[]).includes("slow"),g=t.has(o.turnIndex),b=u.turnIdx.has(o.turnIndex),h=["railnode",ae(c),b?"hot":"",n&&!b?"dim":""].filter(Boolean).join(" "),C=`#${o.turnIndex} \xB7 ${ge(c)} \xB7 ${d("insights.mReads")}${i.reads} ${d("insights.mEdits")}${i.edits} ${d("insights.mRuns")}${i.runs}${i.failures?` \xB7 ${d("insights.mFailures")}${i.failures}`:""} \xB7 ${z(i.durationMs)}`,v=`${f?'<i class="rb rb-fail"></i>':""}${p?'<i class="rb rb-slow"></i>':""}${g?'<i class="rb rb-rec"></i>':""}`,k=`<button type="button" class="${h}" data-rail-turn="${l(String(o.turnIndex))}" data-tip="${l(C)}"><span>${l(String(o.turnIndex))}</span>${v}</button>`,y=(o.events??[]).filter(x=>x.kind==="delegate").length,S=y?`<span class="railbranch" data-tip="${l(`#${o.turnIndex} \xB7 ${d("insights.railSubagents",{n:y})}`)}">${'<i class="rbr-sub"></i>'.repeat(Math.min(y,4))}</span>`:"";return k+S}).join(""),a=[...["research","edit","run","delegate","discuss"].map(o=>`<span class="rl-item"><i class="${ae(o)}"></i>${l(ge(o))}</span>`),`<span class="rl-item rl-sep"><i class="rbr-sub"></i>${l(d("insights.railSubagent"))}</span>`].join("");return`<section class="block turnrail-block">
258
- <div class="turnrail-head"><h3>${l(d("insights.turnRail"))}</h3><span class="turnrail-legend">${a}</span></div>
259
- <div class="turnrail">${r}</div>
260
- </section>`}function qi(e){let u=(e.spans??[]).map((a,o)=>({s:a,i:o,start:a.relStartMs??0,dur:Math.max(a.durationMs??0,0)})).filter(a=>Number.isFinite(a.start)).sort((a,o)=>a.start-o.start);if(u.length<2)return"";let t=Math.max(u.reduce((a,o)=>a+o.dur,0),1),s=0,n=u.map(a=>{let o=s/t*100,i=Math.max(a.dur/t*100,.3);s+=a.dur;let c=a.s.status==="error"||(a.s.tags??[]).includes("failure"),f=(a.s.tags??[]).includes("slow"),p=["gbar",ae(a.s.phase),c?"gbar-fail":"",f?"gbar-slow":""].filter(Boolean).join(" "),g=a.s.status==="error"?` \xB7 ${$e("failure")}`:"",b=`#${a.i} \xB7 ${a.s.tool} \xB7 ${ge(a.s.phase)} \xB7 ${z(a.s.durationMs)}${g}`;return`<button type="button" class="${p}" style="left:${o.toFixed(3)}%;width:${i.toFixed(3)}%" data-gantt-span="${a.i}" data-tip="${l(b)}"></button>`}).join(""),r=u[u.length-1].start+u[u.length-1].dur-u[0].start;return`<section class="block gantt-block">
261
- <div class="turnrail-head"><h3>${l(d("insights.gantt"))}</h3><span class="gantt-cap">${l(d("insights.ganttCaption",{span:u.length,dur:z(r),active:z(t)}))}</span></div>
262
- <div class="gantt"><div class="gtrack">${n}</div></div>
263
- </section>`}function Bi(e){let u=(e.turnTimeline??[]).map(b=>b.context&&Number.isFinite(b.context.contextTokens)?{turn:b.turnIndex,v:b.context.contextTokens}:null).filter(b=>b!==null).sort((b,h)=>b.turn-h.turn);if(u.length<2)return"";let t=Math.max(...u.map(b=>b.v),1),s=100,n=40,r=u.length,a=b=>b/(r-1)*s,o=b=>n-1-b/t*(n-2),i=u.map((b,h)=>`${a(h).toFixed(2)},${o(b.v).toFixed(2)}`).join(" "),c=`0,${n} ${i} ${s},${n}`,f=s/r,p=u.map((b,h)=>`<rect class="ctxhit" x="${Math.max(0,a(h)-f/2).toFixed(2)}" y="0" width="${f.toFixed(2)}" height="${n}" data-tip="${l(`${d("insights.ctxTurn",{n:b.turn})} \xB7 ${R(b.v)} tok`)}"></rect>`).join(""),g=R(Math.round(t/2));return`<section class="block ctxcurve-block">
264
- <div class="turnrail-head"><h3>${l(d("insights.ctxCurve"))}</h3><span class="gantt-cap">${l(d("insights.ctxCaption",{peak:R(t),turns:u.length}))}</span></div>
265
- <div class="ctxchart">
266
- <div class="ctxyaxis"><span>${l(R(t))}</span><span>${l(g)}</span><span>0 tok</span></div>
267
- <div class="ctxplot">
268
- <svg class="ctxcurve" viewBox="0 0 ${s} ${n}" preserveAspectRatio="none" role="img" aria-label="${l(d("insights.ctxCurve"))}">
269
- <polygon class="ctxarea" points="${c}"/>
270
- <polyline class="ctxline" points="${i}"/>
271
- ${p}
272
- </svg>
273
- <div class="ctxxaxis"><span>${l(d("insights.ctxTurn",{n:u[0].turn}))}</span><span>${l(d("insights.ctxTurn",{n:u[u.length-1].turn}))}</span></div>
274
- </div>
275
- </div>
276
- </section>`}function Hi(e,u){e.addEventListener("mousemove",t=>{let s=t.target.closest("[data-tip]");if(!s){u.hidden=!0;return}u.textContent=s.getAttribute("data-tip")||"",u.hidden=!1;let n=14,r=u.getBoundingClientRect(),a=t.clientX+n,o=t.clientY+n;a+r.width>window.innerWidth&&(a=t.clientX-r.width-n),o+r.height>window.innerHeight&&(o=t.clientY-r.height-n),u.style.left=`${Math.max(4,a)}px`,u.style.top=`${Math.max(4,o)}px`}),e.addEventListener("mouseleave",()=>{u.hidden=!0})}function Pi(e,u){if(e.status!=="ok")return`<p class="mut">${l(Nt(e))}</p>`;let t=e.agg,s=mi(e,u.activeId),n=new Map;for(let i of e.recommendations??[])for(let c of i.evidence?.turnIndexes??[]){let f=n.get(c)??[];f.includes(i.id)||f.push(i.id),n.set(c,f)}let r=[e.meta?.asOf?d("sessions.insightAsOf",{asOf:String(e.meta.asOf)}):"",e.meta?.partial?d("sessions.insightPartial"):"",e.meta?.capped?d("sessions.insightCapped",{shown:String(e.meta.spansReturned??e.spans?.length??0),total:String(e.meta.spansTotal??e.spans?.length??0)}):""].filter(Boolean).join(" \xB7 "),a=e.spans?.length??0,o=e.turnTimeline?.length??0;return`
277
- <div class="cards insight-detail-metrics">
278
- ${ce(d("insights.metricSpans"),R(t.totalSpans))}
279
- ${ce(d("insights.metricFailed"),R(t.failedSpans))}
280
- ${ce(d("insights.metricSlow"),R(t.slowSpans))}
281
- ${ce(d("insights.metricRw"),t.readWriteRatio===null?"-":t.readWriteRatio.toFixed(1))}
282
- </div>
283
- ${r?`<p class="insight-meta">${l(r)}</p>`:""}
284
- <section class="block recblock">
285
- <h3>${l(d("insights.recommendations"))}</h3>
286
- ${gi(e,u.activeId)}
287
- </section>
288
- ${Ri(e,s,n)}
289
- ${qi(e)}
290
- ${Qr(e)}
291
- ${Bi(e)}
292
- <div class="detailtabs">
293
- <div class="detailtabbar" role="tablist" aria-label="${l(d("insights.detailTabs"))}">
294
- <button type="button" role="tab" data-tab="spans" class="${u.tab==="spans"?"on":""}">${l(d("insights.trace"))} <b>${a}</b></button>
295
- <button type="button" role="tab" data-tab="ledger" class="${u.tab==="ledger"?"on":""}">${l(d("insights.ledger"))} <b>${o}</b></button>
296
- <button type="button" role="tab" data-tab="convo" class="${u.tab==="convo"?"on":""}">${l(d("insights.replay"))}</button>
297
- </div>
298
- <div class="detailtabbody">
299
- <div class="insight-tab-panel" data-panel="spans"${u.tab==="spans"?"":" hidden"}>${_i(e,s,u.spanFilter,u.openSpans)}</div>
300
- <div class="insight-tab-panel" data-panel="ledger"${u.tab==="ledger"?"":" hidden"}>${$i(e,s,u.openTurns,u.openSpans,u.ledgerSort,u.openPrompts,u.rawPrompts,u.ledgerSender)}</div>
301
- <div class="insight-tab-panel" data-panel="convo"${u.tab==="convo"?"":" hidden"}>${Ii(u.convo,n)}</div>
302
- </div>
303
- </div>`}async function Ni(e){let u=await fetch(`/api/sessions/${encodeURIComponent(e)}/insight?detail=spans`,{cache:"no-store"}),t=await u.json().catch(()=>({}));if(!u.ok||t?.ok===!1)throw new Error(String(t?.error??u.status));return t.report}function Rs(){let e=typeof location<"u"&&location.hash||"",u=e.indexOf("?");if(u<0)return{};let t={};for(let[s,n]of new URLSearchParams(e.slice(u+1)))t[s]=n;return t}function zi(e){let u=new URLSearchParams;for(let[s,n]of Object.entries(e))n&&u.set(s,n);let t=u.toString();return"#/insights"+(t?`?${t}`:"")}var Oi=["all","review","failed","slow"],qs=["overview","sessions","flow","dist","hot"],ji=["recent","review","spans","fails","slow","agent"];function Bs(){let e=Rs();return qs.includes(e.tab)?e.tab:"overview"}function Hs(e){let u=Rs(),t=null,s=[],n=Oi.includes(u.filter)?u.filter:"all",r=new Set((u.cli??"").split(",").filter(Boolean)),a=u.q??"",o=null,i=u.sess??null,c=null,f=null,p="spans",g="all",b=new Set,h=new Set,C="normal",v="all",k=new Set,y=new Set,S=()=>({messages:[],total:0,hasMore:!1,nextOffset:0,loading:!1,q:"",role:"all",tag:"all",openOps:new Set}),x=S(),E=null,D=!1,L=null,P=0,F=!1,B=qs.includes(u.tab)?u.tab:"overview",O=u.project??"",Z=u.time??"all",J=u.noise==="1",W=ji.includes(u.sort)?u.sort:"recent",q=u.layout==="table"?"table":"card",N=new Set,K=!1,we="",ee=0,We=e.querySelector("#insight-status"),Ns=e.querySelector("#insight-overview"),$u=e.querySelector("#insight-list"),zs=e.querySelector("#insight-list-subtitle"),Ce=e.querySelector("#insight-detail"),Ye=e.querySelector("input[name=q]");Ye.value=a;let wu=e.querySelector("#insight-refresh"),Yt=[...e.querySelectorAll("[data-filter]")],Jt=e.querySelector("#insight-cli-filter"),Xt=e.querySelector("#insight-flow"),Kt=e.querySelector("#insight-dist"),Be=e.querySelector("#insight-hot"),Je=e.querySelector("#insight-project"),Cu=e.querySelector("#insight-time"),Du=e.querySelector("#insight-noise"),Os=e.querySelector("#insight-clear"),Qt=e.querySelector("#insight-tabbar"),js=[...e.querySelectorAll(".insight-panel")],xe=e.querySelector("#insight-palette"),Us=e.querySelector("#insight-palette-open"),Vs=e.querySelector("#insight-list-view"),Gs=e.querySelector("#insight-detail-view"),Zs=e.querySelector("#insight-back"),en=e.querySelector("#insight-sort");function Au(){let m=o!==null;Vs.hidden=m,Gs.hidden=!m}function Fu(){let m=Ut.find(w=>w.key===Z),$=m&&m.days>0?Date.now()-m.days*864e5:void 0;return{project:O||void 0,sinceMs:$,analyzableOnly:!J}}function un(){let m={};B!=="overview"&&(m.tab=B),n!=="all"&&(m.filter=n),a.trim()&&(m.q=a.trim()),O&&(m.project=O),Z!=="all"&&(m.time=Z),r.size&&(m.cli=[...r].join(",")),W!=="recent"&&(m.sort=W),q!=="card"&&(m.layout=q),J&&(m.noise="1"),o&&(m.sess=o);try{history.replaceState(null,"",zi(m))}catch{}}function tn(){let m=we.trim().toLowerCase(),$=As.map(M=>({type:"tab",key:M.key,label:d(M.label),sub:d("insights.paletteTabs")})).filter(M=>!m||M.label.toLowerCase().includes(m)),w=s.filter(M=>{let _=M.session;return!m||`${de(_)} ${fe(_)} ${_.cliId??""}`.toLowerCase().includes(m)}).slice(0,20).map(M=>({type:"session",key:String(M.session.sessionId),label:de(M.session),sub:`${fe(M.session)} \xB7 ${M.session.cliId??"-"}`}));return[...$,...w]}function nn(m,$){Ke(),m==="tab"?(B=$,o=null,V()):(B="sessions",Tu(),Mu($))}function Xe(){let m=xe.querySelector(".palette-list");if(!m)return;let $=tn();ee>=$.length&&(ee=Math.max(0,$.length-1)),m.innerHTML=$.length?$.map((w,M)=>`<button type="button" class="palette-item${M===ee?" on":""}" data-pal-type="${w.type}" data-pal-key="${l(w.key)}" data-pal-i="${M}">
304
- <span class="pal-label">${l(w.label)}</span><span class="pal-sub">${l(w.sub)}</span>
305
- </button>`).join(""):`<p class="mut palette-empty">${l(d("insights.paletteEmpty"))}</p>`,m.querySelectorAll(".palette-item").forEach(w=>w.addEventListener("click",()=>nn(w.dataset.palType??"tab",w.dataset.palKey??""))),m.querySelector(".palette-item.on")?.scrollIntoView({block:"nearest"})}function sn(){if(!K){xe.hidden=!0,xe.innerHTML="",document.body.classList.remove("insight-modal-open");return}xe.hidden=!1,document.body.classList.add("insight-modal-open"),xe.innerHTML=`<div class="modal-backdrop" data-pal-close></div>
306
- <div class="palette-panel" role="dialog" aria-modal="true">
307
- <input type="search" class="palette-input" placeholder="${l(d("insights.palettePlaceholder"))}" value="${l(we)}">
308
- <div class="palette-list"></div>
309
- </div>`;let m=xe.querySelector(".palette-input");m&&(m.focus(),m.oninput=()=>{we=m.value,ee=0,Xe()}),xe.querySelectorAll("[data-pal-close]").forEach($=>$.addEventListener("click",Ke)),Xe()}function rn(){K=!0,we="",ee=0,sn()}function Ke(){K=!1,sn()}function Ws(){let m=Ht(s,n,a,r,{...Fu(),project:void 0}),$=ei(m),w=O;Je.innerHTML=`<option value="">${l(d("insights.projectAll"))}</option>`+$.map(M=>`<option value="${l(M.id)}"${M.id===w?" selected":""}>${l(M.id)} (${M.count})</option>`).join(""),w&&!$.some(M=>M.id===w)&&(O="",Je.value="")}function Tu(){for(let m of js)m.hidden=m.dataset.tabpanel!==B;for(let m of Qt.querySelectorAll("[data-itab]")){let $=m.dataset.itab===B;m.classList.toggle("on",$),m.setAttribute("aria-selected",String($))}}function Qe(m,$=!1){for(let w of m.querySelectorAll("[data-session-id]"))w.onclick=()=>{$&&B!=="sessions"&&(B="sessions",Tu(),V()),Mu(w.dataset.sessionId??"")}}function on(){return ci(Ht(s,n,a,r,Fu()),W)}function V(){if(F)return;let m=Ht(s,n,a,new Set,Fu()),$=new Set(m.map(Ot));for(let _ of[...r])$.has(_)||r.delete(_);Jt.innerHTML=Jr(m,r),Ws(),Du.checked=J,Cu.value=Z;let w=on();Yt.forEach(_=>_.classList.toggle("active",_.dataset.filter===n)),Ns.innerHTML=t?Kr(Xr(w)):"",zs.textContent=d("insights.listCount",{shown:w.length,total:s.length}),en.innerHTML=oi(W,q),$u.innerHTML=!w.length&&!J?`<div class="insight-empty">${l(d("insights.empty"))}<br><span class="mut">${l(d("insights.emptyAnalyzableHint"))}</span></div>`:q==="table"?di(w,o):li(w,o,!0);let M=w.find(_=>_.session.sessionId===o)??s.find(_=>_.session.sessionId===o);(!o||!M)&&(Ce.innerHTML=_u(void 0)),Qe($u),Au(),Xt.innerHTML=t?ri(w):"",Qe(Xt,!0),Kt.innerHTML=t?si(w):"",Be.innerHTML=t?vs(w,N):"",Qe(Be,!0),Tu(),un()}function G(){let m=Ce.querySelector("#insight-detail-body");if(!m||!f)return;let $=`.insight-tab-panel[data-panel="${p}"] .spantable, .insight-tab-panel[data-panel="${p}"] .turnlist, .insight-tab-panel[data-panel="${p}"] .convothread`,w=m.querySelector($)?.scrollTop??0,M=window.scrollY;m.innerHTML=Pi(f,{activeId:c,tab:p,spanFilter:g,openSpans:b,openTurns:h,ledgerSort:C,openPrompts:k,rawPrompts:y,ledgerSender:v,convo:x}),Ys(m);let _=m.querySelector($);_&&(_.scrollTop=w),window.scrollY!==M&&window.scrollTo({top:M})}async function He(m){if(!o||x.loading)return;m&&(x.messages=[],x.nextOffset=0,x.hasMore=!1),x.loading=!0,p==="convo"&&G();let $=new URLSearchParams({detail:"conversation",offset:String(x.nextOffset),limit:"40"});x.q&&$.set("q",x.q),x.role!=="all"&&$.set("role",x.role),x.tag!=="all"&&$.set("tag",x.tag);let w=o;try{let M=await fetch(`/api/sessions/${encodeURIComponent(w)}/insight?${$.toString()}`,{cache:"no-store"});if(F||w!==o)return;let _=await M.json().catch(()=>({}));if(F||w!==o)return;let T=_?.conversation;T&&(x.messages=m?T.messages??[]:[...x.messages,...T.messages??[]],x.total=T.total??x.messages.length,x.hasMore=!!T.hasMore,x.nextOffset=T.nextOffset??x.nextOffset+(T.messages?.length??0))}catch{}F||w!==o||(x.loading=!1,p==="convo"&&G())}function Pe(){let m=e.querySelector("#insight-modal");if(m){if(E===null){m.hidden=!0,m.innerHTML="",document.body.classList.remove("insight-modal-open");return}m.hidden=!1,document.body.classList.add("insight-modal-open"),m.innerHTML=L?Ei(E,L,D):`<div class="modal-backdrop" data-modal-close></div><div class="modal-panel"><div class="modal-body"><p class="mut">${l(d("insights.detailLoading"))}</p></div></div>`,m.querySelectorAll("[data-modal-close]").forEach($=>$.addEventListener("click",an)),m.querySelector("[data-modal-raw]")?.addEventListener("click",()=>{D=!D,Pe()})}}function an(){E=null,D=!1,L=null,Pe()}async function cn(m){if(!o)return;E=m,D=!1,L=null;let $=++P,w=o;Pe();try{let M=await fetch(`/api/sessions/${encodeURIComponent(w)}/insight/turn/${m}?offset=0&limit=40000`,{cache:"no-store"});if($!==P||F||w!==o)return;let _=await M.json().catch(()=>({}));if($!==P||F||w!==o)return;L=_?.turn?.prompt??{text:"",truncated:!1}}catch{if($!==P||F||w!==o)return;L={text:d("insights.unavailable"),truncated:!1}}Pe()}function Ys(m){let $=m.querySelector(".detailtabbar");$?.addEventListener("click",_=>{let T=_.target.closest("button[data-tab]");T&&(p=T.dataset.tab||"spans",$.querySelectorAll("button[data-tab]").forEach(H=>H.classList.toggle("on",H.dataset.tab===p)),m.querySelectorAll(".insight-tab-panel").forEach(H=>{H.hidden=H.dataset.panel!==p}),p==="convo"&&!x.messages.length&&!x.loading&&He(!0))});for(let _ of m.querySelectorAll(".reclist [data-rec]"))_.addEventListener("click",()=>{let T=_.dataset.rec||null;c=c===T?null:T,G()});for(let _ of m.querySelectorAll(".turnrail [data-rail-turn]"))_.addEventListener("click",()=>{let T=Number(_.dataset.railTurn),H=f?.turnTimeline?.find(Js=>Js.turnIndex===T);p="ledger",C="normal",H&&vu(H)==="system"&&(v="system"),h.add(T),G(),Ce.querySelector(`.insight-tab-panel[data-panel="ledger"] [data-turn-card="${T}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})});for(let _ of m.querySelectorAll(".gantt [data-gantt-span]"))_.addEventListener("click",()=>{let T=Number(_.dataset.ganttSpan);p="spans",g="all",b.add(T),G(),Ce.querySelector(`.insight-tab-panel[data-panel="spans"] .sprow-line[data-span-idx="${T}"]`)?.closest(".spanrow")?.scrollIntoView({behavior:"smooth",block:"center"})});let w=e.querySelector("#insight-tip");if(w)for(let _ of m.querySelectorAll(".turnrail, .gtrack, .ctxcurve"))Hi(_,w);for(let _ of m.querySelectorAll(".spanfilter [data-spanfilter]"))_.addEventListener("click",()=>{g=_.dataset.spanfilter||"all",G()});for(let _ of m.querySelectorAll(".sprow-line[data-span-idx]")){let T=()=>{let H=Number(_.dataset.spanIdx);b.has(H)?b.delete(H):b.add(H),G()};_.addEventListener("click",T),_.addEventListener("keydown",H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),T())})}for(let _ of m.querySelectorAll(".turn-expand-btn[data-turn]"))_.addEventListener("click",()=>{let T=Number(_.dataset.turn);h.has(T)?h.delete(T):h.add(T),G()});for(let _ of m.querySelectorAll(".ledgersort [data-ledgersort]"))_.addEventListener("click",()=>{C=_.dataset.ledgersort==="grouped"?"grouped":"normal",G()});for(let _ of m.querySelectorAll(".ledgersender [data-ledgersender]"))_.addEventListener("click",()=>{v=_.dataset.ledgersender||"all",G()});for(let _ of m.querySelectorAll(".tp-toggle[data-prompt-expand]"))_.addEventListener("click",()=>{let T=Number(_.dataset.promptExpand);k.has(T)?k.delete(T):k.add(T),G()});for(let _ of m.querySelectorAll(".tp-toggle[data-prompt-raw]"))_.addEventListener("click",()=>{let T=Number(_.dataset.promptRaw);y.has(T)?y.delete(T):y.add(T),G()});for(let _ of m.querySelectorAll(".tp-toggle[data-prompt-full]"))_.addEventListener("click",()=>{cn(Number(_.dataset.promptFull))});let M=m.querySelector(".convo-search");M?.addEventListener("keydown",_=>{if(_.key!=="Enter")return;_.preventDefault();let T=M.value.trim();T!==x.q&&(x.q=T,He(!0))});for(let _ of m.querySelectorAll(".convo-rolefilter [data-convo-role]"))_.addEventListener("click",()=>{let T=_.dataset.convoRole||"all";T!==x.role&&(x.role=T,He(!0))});for(let _ of m.querySelectorAll(".convo-tagfilter [data-convo-tag]"))_.addEventListener("click",()=>{let T=_.dataset.convoTag||"all";T!==x.tag&&(x.tag=T,He(!0))});m.querySelector(".convo-loadmore")?.addEventListener("click",()=>{He(!1)});for(let _ of m.querySelectorAll(".cbub [data-convo-full]"))_.addEventListener("click",()=>{cn(Number(_.dataset.convoFull))});for(let _ of m.querySelectorAll(".cop-line[data-convo-op]")){let T=()=>{let H=_.dataset.convoOp;x.openOps.has(H)?x.openOps.delete(H):x.openOps.add(H),G()};_.addEventListener("click",T),_.addEventListener("keydown",H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),T())})}}async function Mu(m){o=m,Au(),un(),c=null,p="spans",g="all",b=new Set,h=new Set,C="normal",v="all",k=new Set,y=new Set,x=S(),E=null,D=!1,L=null,Pe(),f=null;let $=s.find(M=>M.session.sessionId===m);Ce.innerHTML=_u($);for(let M of $u.querySelectorAll("[data-session-id]"))M.classList.toggle("on",M.dataset.sessionId===m);let w=Ce.querySelector("#insight-detail-body");if(w)try{let M=await Ni(m);!F&&o===m&&M&&(f=M,G())}catch(M){!F&&o===m&&(w.innerHTML=`<p class="mut">${l(String(M))}</p>`)}}async function ln(){wu.disabled=!0,We.textContent=d("insights.loading");try{let $=await fetch("/api/insights/summary?limit=200",{cache:"no-store"});if(F)return;let w=await $.json().catch(()=>({}));if(F)return;!$.ok||w?.ok===!1||!w.overview?(t=null,s=[],We.textContent=`${d("insights.unavailable")}: ${String(w?.error??$.status)}`):(t=w.overview,s=t.sessions.map(Wr),We.textContent=d("insights.loaded",{count:t.meta.analyzedSessions}))}catch($){if(F)return;t=null,s=[],We.textContent=`${d("insights.unavailable")}: ${String($)}`}if(F)return;o&&!s.some($=>$.session.sessionId===o)&&(o=null),V(),wu.disabled=!1;let m=i;i=null,m&&!o&&s.some($=>$.session.sessionId===m)&&Mu(m)}Ye.oninput=()=>{a=Ye.value,V()},wu.onclick=()=>{ln()},Qt.addEventListener("click",m=>{let $=m.target.closest("[data-itab]");$&&(B=$.dataset.itab||"overview",V())}),Zs.addEventListener("click",()=>{o=null,Au(),V()}),en.addEventListener("click",m=>{let $=m.target.closest("[data-sesslayout]");if($){q=$.dataset.sesslayout==="table"?"table":"card",V();return}let w=m.target.closest("[data-sesssort]");w&&(W=w.dataset.sesssort||"recent",V())}),Kt.addEventListener("click",m=>{let $=m.target.closest("[data-distsort]");$&&(W=$.dataset.distsort||"recent",B="sessions",o=null,V())}),Be.addEventListener("click",m=>{let $=m.target,w=$.closest("[data-hotkey]");if(w){let _=w.dataset.hotkey||"";N.has(_)?N.delete(_):N.add(_),Be.innerHTML=vs(on(),N),Qe(Be,!0);return}let M=$.closest("[data-hotproject]");M&&(O=M.dataset.hotproject||"",B="sessions",o=null,V())}),Je.addEventListener("change",()=>{O=Je.value,V()}),Cu.addEventListener("change",()=>{Z=Cu.value,V()}),Du.addEventListener("change",()=>{J=Du.checked,V()}),Os.addEventListener("click",()=>{a="",Ye.value="",n="all",r.clear(),O="",Z="all",J=!1,V()});for(let m of Yt)m.onclick=()=>{n=m.dataset.filter||"all",V()};Jt.addEventListener("click",m=>{let $=m.target.closest("[data-clifilter]");if(!$)return;let w=$.dataset.clifilter||"all";w==="all"?r.clear():r.has(w)?r.delete(w):r.add(w),V()}),Us.addEventListener("click",rn);let dn=m=>{if((m.key==="k"||m.key==="K")&&(m.metaKey||m.ctrlKey)){m.preventDefault(),K?Ke():rn();return}if(K){if(m.isComposing||m.keyCode===229)return;let $=tn();if(m.key==="Escape")m.preventDefault(),Ke();else if(m.key==="ArrowDown")m.preventDefault(),ee=Math.min($.length-1,ee+1),Xe();else if(m.key==="ArrowUp")m.preventDefault(),ee=Math.max(0,ee-1),Xe();else if(m.key==="Enter"){m.preventDefault();let w=$[ee];w&&nn(w.type,w.key)}return}m.key==="Escape"&&E!==null&&an()};return document.addEventListener("keydown",dn),fn().then(()=>{F||V()}),ln(),()=>{F=!0,document.removeEventListener("keydown",dn),document.body.classList.remove("insight-modal-open")}}var A=Iu(hn(),1);function Ps(e){return(0,A.jsx)("span",{style:{display:"contents"},dangerouslySetInnerHTML:{__html:e.html}})}function Ui(){let e=bn(),u=(0,Su.useRef)(null),t=Bs();return(0,Su.useEffect)(()=>{if(u.current)return Hs(u.current)},[]),(0,A.jsxs)("section",{className:"page insights-page",ref:u,children:[(0,A.jsxs)("div",{className:"page-heading",children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("p",{className:"eyebrow",children:e("nav.insights")}),(0,A.jsx)("h1",{children:e("insights.title")}),(0,A.jsx)("p",{children:e("insights.subtitle")})]}),(0,A.jsxs)("div",{className:"insight-head-acts",children:[(0,A.jsx)("button",{type:"button",id:"insight-palette-open",className:"ins-clear",children:e("insights.paletteOpen")}),(0,A.jsx)("button",{type:"button",id:"insight-refresh",className:"primary",children:e("insights.refresh")})]})]}),(0,A.jsxs)("form",{id:"insight-filters",className:"filters insights-filters",children:[(0,A.jsx)("input",{type:"search",name:"q",placeholder:e("insights.search")}),(0,A.jsx)("select",{id:"insight-project",className:"ins-select","aria-label":e("insights.projectAll")}),(0,A.jsx)("select",{id:"insight-time",className:"ins-select","aria-label":e("insights.timeAll"),children:Ut.map(s=>(0,A.jsx)("option",{value:s.key,children:e(s.label)},s.key))}),(0,A.jsxs)("div",{className:"segmented",role:"group","aria-label":e("insights.filter"),children:[(0,A.jsx)("button",{type:"button","data-filter":"all",children:e("insights.filterAll")}),(0,A.jsx)("button",{type:"button","data-filter":"review",children:e("insights.filterReview")}),(0,A.jsx)("button",{type:"button","data-filter":"failed",children:e("insights.filterFailed")}),(0,A.jsx)("button",{type:"button","data-filter":"slow",children:e("insights.filterSlow")})]}),(0,A.jsx)("div",{id:"insight-cli-filter",className:"spanfilter cli-filter",role:"group","aria-label":e("insights.filter")}),(0,A.jsxs)("label",{className:"ins-toggle",children:[(0,A.jsx)("input",{type:"checkbox",id:"insight-noise"})," ",e("insights.showAll")]}),(0,A.jsx)("button",{type:"button",id:"insight-clear",className:"ins-clear",children:e("insights.clear")})]}),(0,A.jsx)("div",{id:"insight-tabbar",children:(0,A.jsx)(Ps,{html:Fs(t)})}),(0,A.jsx)("div",{id:"insight-status",className:"insight-page-status"}),(0,A.jsx)("div",{className:"insight-panel",role:"tabpanel","data-tabpanel":"overview",children:(0,A.jsx)("div",{id:"insight-overview"})}),(0,A.jsxs)("div",{className:"insight-panel",role:"tabpanel","data-tabpanel":"sessions",hidden:!0,children:[(0,A.jsxs)("div",{id:"insight-list-view",children:[(0,A.jsxs)("div",{className:"insight-list-head",children:[(0,A.jsx)("span",{id:"insight-list-subtitle"}),(0,A.jsx)("div",{className:"sesssort",id:"insight-sort"})]}),(0,A.jsx)("div",{id:"insight-list"})]}),(0,A.jsxs)("div",{id:"insight-detail-view",hidden:!0,children:[(0,A.jsxs)("button",{type:"button",id:"insight-back",className:"ins-back",children:["\u2190 ",e("insights.backToList")]}),(0,A.jsx)("div",{id:"insight-detail",children:(0,A.jsx)(Ps,{html:_u(void 0)})})]})]}),(0,A.jsx)("div",{className:"insight-panel",role:"tabpanel","data-tabpanel":"flow",hidden:!0,children:(0,A.jsx)("div",{id:"insight-flow"})}),(0,A.jsx)("div",{className:"insight-panel",role:"tabpanel","data-tabpanel":"dist",hidden:!0,children:(0,A.jsx)("div",{id:"insight-dist"})}),(0,A.jsx)("div",{className:"insight-panel",role:"tabpanel","data-tabpanel":"hot",hidden:!0,children:(0,A.jsx)("div",{id:"insight-hot"})}),(0,A.jsx)("div",{id:"insight-modal",className:"insight-modal",hidden:!0}),(0,A.jsx)("div",{id:"insight-palette",className:"insight-palette",hidden:!0}),(0,A.jsx)("div",{id:"insight-tip",className:"ins-tip",role:"tooltip",hidden:!0})]})}function hl(e){return pn(e,(0,A.jsx)(Ui,{}))}export{hl as renderInsightsPage};