@loopstack/loopstack-studio 0.21.0 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. package/dist/components/LoadingCentered.js +2 -2
  2. package/dist/components/ai-elements/code-block.js +96 -0
  3. package/dist/components/ai-elements/message.js +87 -0
  4. package/dist/components/ai-elements/prompt-input.js +321 -0
  5. package/dist/components/ai-elements/reasoning.js +124 -0
  6. package/dist/components/ai-elements/shimmer.js +37 -0
  7. package/dist/components/ai-elements/sources.js +65 -0
  8. package/dist/components/ai-elements/tool.js +158 -0
  9. package/dist/components/content/ErrorAlert.js +17 -0
  10. package/dist/components/data-table/DataTable.js +99 -96
  11. package/dist/components/dynamic-form/CodeContent.js +2 -2
  12. package/dist/components/dynamic-form/FormElement.js +3 -3
  13. package/dist/components/dynamic-form/FormElementHeader.js +2 -2
  14. package/dist/components/dynamic-form/ObjectController.js +2 -2
  15. package/dist/components/layout/MainLayout.js +0 -1
  16. package/dist/components/lists/ListView.js +62 -59
  17. package/dist/components/loopstack-elements/link.js +115 -0
  18. package/dist/components/ui/button-group.js +13 -0
  19. package/dist/components/ui/command.js +7 -0
  20. package/dist/components/ui/context-menu.js +63 -0
  21. package/dist/components/ui/hover-card.js +6 -0
  22. package/dist/components/ui/input-group.js +85 -0
  23. package/dist/components/ui/select.js +2 -2
  24. package/dist/components/ui/table.js +2 -2
  25. package/dist/components/ui/tabs.js +54 -0
  26. package/dist/components/ui-widgets/UiActions.js +24 -0
  27. package/dist/components/ui-widgets/UiWidget.js +43 -0
  28. package/dist/components/ui-widgets/widgets/AiPromptInput.js +43 -0
  29. package/dist/components/ui-widgets/widgets/ButtonFullWidth.js +23 -0
  30. package/dist/components/ui-widgets/widgets/SubmitButton.js +23 -0
  31. package/dist/events/sse-client-events.js +7 -0
  32. package/dist/features/code-explorer/CodeExplorer.js +69 -0
  33. package/dist/features/code-explorer/components/CodeExplorerTree.js +43 -0
  34. package/dist/features/code-explorer/components/CodeExplorerTreeNode.js +82 -0
  35. package/dist/features/code-explorer/components/FileContentViewer.js +237 -0
  36. package/dist/features/code-explorer/components/FileTabsBar.js +191 -0
  37. package/dist/features/code-explorer/providers/CodeExplorerProvider.js +165 -0
  38. package/dist/features/code-explorer/utils/fileIcons.js +42 -0
  39. package/dist/features/dashboard/Dashboard.js +125 -0
  40. package/dist/features/dashboard/RunItem.js +76 -0
  41. package/dist/features/dashboard/RunList.js +32 -0
  42. package/dist/features/debug/components/ConfigFlowViewer.js +79 -0
  43. package/dist/features/debug/components/PipelineDebugHeader.js +48 -0
  44. package/dist/features/debug/components/PipelineDebugLegend.js +68 -0
  45. package/dist/features/debug/components/PipelineFlowViewer.js +109 -0
  46. package/dist/features/debug/components/pipeline-flow/StateNode.js +111 -0
  47. package/dist/features/debug/components/pipeline-flow/WorkflowGraph.js +41 -0
  48. package/dist/features/debug/components/pipeline-flow/WorkflowTransitionEdge.js +97 -0
  49. package/dist/features/debug/lib/edge-paths.js +47 -0
  50. package/dist/features/debug/lib/flow-utils.js +247 -0
  51. package/dist/features/health/LocalHealthCheck.js +80 -67
  52. package/dist/features/oauth/OAuthCallbackPage.js +2 -0
  53. package/dist/features/oauth/OAuthPromptRenderer.js +223 -0
  54. package/dist/features/oauth/index.js +3 -0
  55. package/dist/features/oauth/useOAuthPopup.js +83 -0
  56. package/dist/features/workbench/NavigationItems.js +52 -0
  57. package/dist/features/workbench/Workbench.js +101 -0
  58. package/dist/features/workbench/WorkbenchNavigation.js +38 -0
  59. package/dist/features/workbench/WorkflowItem.js +67 -0
  60. package/dist/features/workbench/WorkflowList.js +110 -0
  61. package/dist/features/workbench/components/DocumentItem.js +27 -0
  62. package/dist/features/workbench/components/DocumentList.js +40 -0
  63. package/dist/features/workbench/components/DocumentMetadataPills.js +63 -0
  64. package/dist/features/workbench/components/DocumentRenderer.js +54 -0
  65. package/dist/features/workbench/components/NavigationItem.js +68 -0
  66. package/dist/features/workbench/components/PipelineHistoryList.js +56 -0
  67. package/dist/features/workbench/components/WorkbenchSettingsModal.js +89 -0
  68. package/dist/features/workbench/components/WorkbenchSidebar.js +109 -0
  69. package/dist/features/workbench/components/WorkflowForms.js +22 -0
  70. package/dist/features/workbench/components/WorkflowHistoryItem.js +144 -0
  71. package/dist/features/workbench/components/buttons/WorkflowButtons.js +85 -0
  72. package/dist/features/workbench/components/document-details/DocumentDetails.js +425 -0
  73. package/dist/features/workbench/components/document-details/PromptDetails.js +146 -0
  74. package/dist/features/workbench/components/document-renderer/AiMessage.js +56 -0
  75. package/dist/features/workbench/components/document-renderer/AiMessageContent.js +174 -0
  76. package/dist/features/workbench/components/document-renderer/DocumentDebugRenderer.js +30 -0
  77. package/dist/features/workbench/components/document-renderer/DocumentFormRenderer.js +79 -0
  78. package/dist/features/workbench/components/document-renderer/DocumentMessageRenderer.js +10 -0
  79. package/dist/features/workbench/components/document-renderer/ErrorMessageRenderer.js +13 -0
  80. package/dist/features/workbench/components/document-renderer/LinkMessageRenderer.js +17 -0
  81. package/dist/features/workbench/components/document-renderer/MarkdownMessageRenderer.js +10 -0
  82. package/dist/features/workbench/components/document-renderer/PlainMessageRenderer.js +9 -0
  83. package/dist/features/workbench/hooks/useAutoScrollBottom.js +29 -0
  84. package/dist/features/workbench/hooks/useIntersectionObserver.js +44 -0
  85. package/dist/features/workbench/hooks/useScrollToListItem.js +23 -0
  86. package/dist/features/workbench/providers/ScrollProvider.js +22 -0
  87. package/dist/features/workbench/providers/WorkbenchContextProvider.js +3 -0
  88. package/dist/features/workspaces/Workspaces.js +166 -99
  89. package/dist/features/workspaces/components/CreateWorkspace.js +101 -78
  90. package/dist/features/workspaces/components/ExecutionTimeline.js +1 -1
  91. package/dist/hooks/index.js +1 -0
  92. package/dist/hooks/useAuth.js +25 -4
  93. package/dist/hooks/useDashboard.js +23 -0
  94. package/dist/hooks/useDocuments.js +45 -0
  95. package/dist/hooks/useFiles.js +63 -0
  96. package/dist/hooks/useNamespaceTree.js +27 -0
  97. package/dist/hooks/useNamespaces.js +34 -0
  98. package/dist/hooks/usePipelines.js +83 -6
  99. package/dist/hooks/useWorkflows.js +122 -0
  100. package/dist/hooks/useWorkspaces.js +49 -29
  101. package/dist/index.d.ts +88 -10
  102. package/dist/index.js +11 -1
  103. package/dist/lib/requireParam.js +6 -0
  104. package/dist/loopstack-studio.css +1 -1
  105. package/dist/node_modules/@ai-sdk/provider/dist/index.js +65 -0
  106. package/dist/node_modules/@ai-sdk/provider-utils/dist/index.js +1008 -0
  107. package/dist/node_modules/@dagrejs/dagre/dist/dagre.esm.js +1968 -0
  108. package/dist/node_modules/@shikijs/core/dist/index.js +1420 -0
  109. package/dist/node_modules/@shikijs/engine-oniguruma/dist/index.js +236 -0
  110. package/dist/node_modules/@shikijs/engine-oniguruma/dist/wasm-inlined.js +2 -0
  111. package/dist/node_modules/@shikijs/langs/dist/abap.js +2 -0
  112. package/dist/node_modules/@shikijs/langs/dist/actionscript-3.js +2 -0
  113. package/dist/node_modules/@shikijs/langs/dist/ada.js +2 -0
  114. package/dist/node_modules/@shikijs/langs/dist/angular-expression.js +2 -0
  115. package/dist/node_modules/@shikijs/langs/dist/angular-html.js +14 -0
  116. package/dist/node_modules/@shikijs/langs/dist/angular-inline-style.js +3 -0
  117. package/dist/node_modules/@shikijs/langs/dist/angular-inline-template.js +8 -0
  118. package/dist/node_modules/@shikijs/langs/dist/angular-let-declaration.js +3 -0
  119. package/dist/node_modules/@shikijs/langs/dist/angular-template-blocks.js +8 -0
  120. package/dist/node_modules/@shikijs/langs/dist/angular-template.js +3 -0
  121. package/dist/node_modules/@shikijs/langs/dist/angular-ts.js +16 -0
  122. package/dist/node_modules/@shikijs/langs/dist/apache.js +2 -0
  123. package/dist/node_modules/@shikijs/langs/dist/apex.js +2 -0
  124. package/dist/node_modules/@shikijs/langs/dist/apl.js +14 -0
  125. package/dist/node_modules/@shikijs/langs/dist/applescript.js +2 -0
  126. package/dist/node_modules/@shikijs/langs/dist/ara.js +2 -0
  127. package/dist/node_modules/@shikijs/langs/dist/asciidoc.js +2 -0
  128. package/dist/node_modules/@shikijs/langs/dist/asm.js +2 -0
  129. package/dist/node_modules/@shikijs/langs/dist/astro.js +16 -0
  130. package/dist/node_modules/@shikijs/langs/dist/awk.js +2 -0
  131. package/dist/node_modules/@shikijs/langs/dist/ballerina.js +2 -0
  132. package/dist/node_modules/@shikijs/langs/dist/bat.js +2 -0
  133. package/dist/node_modules/@shikijs/langs/dist/beancount.js +2 -0
  134. package/dist/node_modules/@shikijs/langs/dist/berry.js +2 -0
  135. package/dist/node_modules/@shikijs/langs/dist/bibtex.js +2 -0
  136. package/dist/node_modules/@shikijs/langs/dist/bicep.js +2 -0
  137. package/dist/node_modules/@shikijs/langs/dist/bird2.js +2 -0
  138. package/dist/node_modules/@shikijs/langs/dist/blade.js +18 -0
  139. package/dist/node_modules/@shikijs/langs/dist/bsl.js +3 -0
  140. package/dist/node_modules/@shikijs/langs/dist/c.js +2 -0
  141. package/dist/node_modules/@shikijs/langs/dist/c3.js +2 -0
  142. package/dist/node_modules/@shikijs/langs/dist/cadence.js +2 -0
  143. package/dist/node_modules/@shikijs/langs/dist/cairo.js +3 -0
  144. package/dist/node_modules/@shikijs/langs/dist/clarity.js +2 -0
  145. package/dist/node_modules/@shikijs/langs/dist/clojure.js +2 -0
  146. package/dist/node_modules/@shikijs/langs/dist/cmake.js +2 -0
  147. package/dist/node_modules/@shikijs/langs/dist/cobol.js +8 -0
  148. package/dist/node_modules/@shikijs/langs/dist/codeowners.js +2 -0
  149. package/dist/node_modules/@shikijs/langs/dist/codeql.js +2 -0
  150. package/dist/node_modules/@shikijs/langs/dist/coffee.js +3 -0
  151. package/dist/node_modules/@shikijs/langs/dist/common-lisp.js +2 -0
  152. package/dist/node_modules/@shikijs/langs/dist/coq.js +2 -0
  153. package/dist/node_modules/@shikijs/langs/dist/cpp-macro.js +10 -0
  154. package/dist/node_modules/@shikijs/langs/dist/cpp.js +12 -0
  155. package/dist/node_modules/@shikijs/langs/dist/crystal.js +16 -0
  156. package/dist/node_modules/@shikijs/langs/dist/csharp.js +2 -0
  157. package/dist/node_modules/@shikijs/langs/dist/css.js +2 -0
  158. package/dist/node_modules/@shikijs/langs/dist/csv.js +2 -0
  159. package/dist/node_modules/@shikijs/langs/dist/cue.js +2 -0
  160. package/dist/node_modules/@shikijs/langs/dist/cypher.js +2 -0
  161. package/dist/node_modules/@shikijs/langs/dist/d.js +2 -0
  162. package/dist/node_modules/@shikijs/langs/dist/dart.js +2 -0
  163. package/dist/node_modules/@shikijs/langs/dist/dax.js +2 -0
  164. package/dist/node_modules/@shikijs/langs/dist/desktop.js +2 -0
  165. package/dist/node_modules/@shikijs/langs/dist/diff.js +2 -0
  166. package/dist/node_modules/@shikijs/langs/dist/docker.js +2 -0
  167. package/dist/node_modules/@shikijs/langs/dist/dotenv.js +2 -0
  168. package/dist/node_modules/@shikijs/langs/dist/dream-maker.js +2 -0
  169. package/dist/node_modules/@shikijs/langs/dist/edge.js +10 -0
  170. package/dist/node_modules/@shikijs/langs/dist/elixir.js +3 -0
  171. package/dist/node_modules/@shikijs/langs/dist/elm.js +3 -0
  172. package/dist/node_modules/@shikijs/langs/dist/emacs-lisp.js +2 -0
  173. package/dist/node_modules/@shikijs/langs/dist/erb.js +8 -0
  174. package/dist/node_modules/@shikijs/langs/dist/erlang.js +3 -0
  175. package/dist/node_modules/@shikijs/langs/dist/es-tag-css.js +10 -0
  176. package/dist/node_modules/@shikijs/langs/dist/es-tag-glsl.js +10 -0
  177. package/dist/node_modules/@shikijs/langs/dist/es-tag-html.js +10 -0
  178. package/dist/node_modules/@shikijs/langs/dist/es-tag-sql.js +8 -0
  179. package/dist/node_modules/@shikijs/langs/dist/es-tag-xml.js +3 -0
  180. package/dist/node_modules/@shikijs/langs/dist/fennel.js +2 -0
  181. package/dist/node_modules/@shikijs/langs/dist/fish.js +2 -0
  182. package/dist/node_modules/@shikijs/langs/dist/fluent.js +2 -0
  183. package/dist/node_modules/@shikijs/langs/dist/fortran-fixed-form.js +3 -0
  184. package/dist/node_modules/@shikijs/langs/dist/fortran-free-form.js +2 -0
  185. package/dist/node_modules/@shikijs/langs/dist/fsharp.js +3 -0
  186. package/dist/node_modules/@shikijs/langs/dist/gdresource.js +8 -0
  187. package/dist/node_modules/@shikijs/langs/dist/gdscript.js +2 -0
  188. package/dist/node_modules/@shikijs/langs/dist/gdshader.js +2 -0
  189. package/dist/node_modules/@shikijs/langs/dist/genie.js +2 -0
  190. package/dist/node_modules/@shikijs/langs/dist/gherkin.js +2 -0
  191. package/dist/node_modules/@shikijs/langs/dist/git-commit.js +3 -0
  192. package/dist/node_modules/@shikijs/langs/dist/git-rebase.js +3 -0
  193. package/dist/node_modules/@shikijs/langs/dist/gleam.js +2 -0
  194. package/dist/node_modules/@shikijs/langs/dist/glimmer-js.js +12 -0
  195. package/dist/node_modules/@shikijs/langs/dist/glimmer-ts.js +12 -0
  196. package/dist/node_modules/@shikijs/langs/dist/glsl.js +3 -0
  197. package/dist/node_modules/@shikijs/langs/dist/gn.js +2 -0
  198. package/dist/node_modules/@shikijs/langs/dist/gnuplot.js +2 -0
  199. package/dist/node_modules/@shikijs/langs/dist/go.js +2 -0
  200. package/dist/node_modules/@shikijs/langs/dist/graphql.js +12 -0
  201. package/dist/node_modules/@shikijs/langs/dist/groovy.js +2 -0
  202. package/dist/node_modules/@shikijs/langs/dist/hack.js +8 -0
  203. package/dist/node_modules/@shikijs/langs/dist/haml.js +8 -0
  204. package/dist/node_modules/@shikijs/langs/dist/handlebars.js +12 -0
  205. package/dist/node_modules/@shikijs/langs/dist/haskell.js +2 -0
  206. package/dist/node_modules/@shikijs/langs/dist/haxe.js +2 -0
  207. package/dist/node_modules/@shikijs/langs/dist/hcl.js +2 -0
  208. package/dist/node_modules/@shikijs/langs/dist/hjson.js +2 -0
  209. package/dist/node_modules/@shikijs/langs/dist/hlsl.js +2 -0
  210. package/dist/node_modules/@shikijs/langs/dist/html-derivative.js +3 -0
  211. package/dist/node_modules/@shikijs/langs/dist/html.js +8 -0
  212. package/dist/node_modules/@shikijs/langs/dist/http.js +12 -0
  213. package/dist/node_modules/@shikijs/langs/dist/hurl.js +10 -0
  214. package/dist/node_modules/@shikijs/langs/dist/hxml.js +3 -0
  215. package/dist/node_modules/@shikijs/langs/dist/hy.js +2 -0
  216. package/dist/node_modules/@shikijs/langs/dist/imba.js +2 -0
  217. package/dist/node_modules/@shikijs/langs/dist/ini.js +2 -0
  218. package/dist/node_modules/@shikijs/langs/dist/java.js +2 -0
  219. package/dist/node_modules/@shikijs/langs/dist/javascript.js +2 -0
  220. package/dist/node_modules/@shikijs/langs/dist/jinja-html.js +3 -0
  221. package/dist/node_modules/@shikijs/langs/dist/jinja.js +3 -0
  222. package/dist/node_modules/@shikijs/langs/dist/jison.js +3 -0
  223. package/dist/node_modules/@shikijs/langs/dist/json.js +2 -0
  224. package/dist/node_modules/@shikijs/langs/dist/json5.js +2 -0
  225. package/dist/node_modules/@shikijs/langs/dist/jsonc.js +2 -0
  226. package/dist/node_modules/@shikijs/langs/dist/jsonl.js +2 -0
  227. package/dist/node_modules/@shikijs/langs/dist/jsonnet.js +2 -0
  228. package/dist/node_modules/@shikijs/langs/dist/jssm.js +2 -0
  229. package/dist/node_modules/@shikijs/langs/dist/jsx.js +2 -0
  230. package/dist/node_modules/@shikijs/langs/dist/julia.js +14 -0
  231. package/dist/node_modules/@shikijs/langs/dist/just.js +16 -0
  232. package/dist/node_modules/@shikijs/langs/dist/kdl.js +2 -0
  233. package/dist/node_modules/@shikijs/langs/dist/kotlin.js +2 -0
  234. package/dist/node_modules/@shikijs/langs/dist/kusto.js +2 -0
  235. package/dist/node_modules/@shikijs/langs/dist/latex.js +3 -0
  236. package/dist/node_modules/@shikijs/langs/dist/lean.js +2 -0
  237. package/dist/node_modules/@shikijs/langs/dist/less.js +2 -0
  238. package/dist/node_modules/@shikijs/langs/dist/liquid.js +12 -0
  239. package/dist/node_modules/@shikijs/langs/dist/llvm.js +2 -0
  240. package/dist/node_modules/@shikijs/langs/dist/log.js +2 -0
  241. package/dist/node_modules/@shikijs/langs/dist/logo.js +2 -0
  242. package/dist/node_modules/@shikijs/langs/dist/lua.js +3 -0
  243. package/dist/node_modules/@shikijs/langs/dist/luau.js +2 -0
  244. package/dist/node_modules/@shikijs/langs/dist/make.js +2 -0
  245. package/dist/node_modules/@shikijs/langs/dist/markdown-nix.js +2 -0
  246. package/dist/node_modules/@shikijs/langs/dist/markdown-vue.js +2 -0
  247. package/dist/node_modules/@shikijs/langs/dist/markdown.js +2 -0
  248. package/dist/node_modules/@shikijs/langs/dist/marko.js +12 -0
  249. package/dist/node_modules/@shikijs/langs/dist/matlab.js +2 -0
  250. package/dist/node_modules/@shikijs/langs/dist/mdc.js +10 -0
  251. package/dist/node_modules/@shikijs/langs/dist/mdx.js +2 -0
  252. package/dist/node_modules/@shikijs/langs/dist/mermaid.js +2 -0
  253. package/dist/node_modules/@shikijs/langs/dist/mipsasm.js +2 -0
  254. package/dist/node_modules/@shikijs/langs/dist/mojo.js +2 -0
  255. package/dist/node_modules/@shikijs/langs/dist/moonbit.js +2 -0
  256. package/dist/node_modules/@shikijs/langs/dist/move.js +2 -0
  257. package/dist/node_modules/@shikijs/langs/dist/narrat.js +2 -0
  258. package/dist/node_modules/@shikijs/langs/dist/nextflow-groovy.js +2 -0
  259. package/dist/node_modules/@shikijs/langs/dist/nextflow.js +3 -0
  260. package/dist/node_modules/@shikijs/langs/dist/nginx.js +3 -0
  261. package/dist/node_modules/@shikijs/langs/dist/nim.js +18 -0
  262. package/dist/node_modules/@shikijs/langs/dist/nix.js +3 -0
  263. package/dist/node_modules/@shikijs/langs/dist/nushell.js +2 -0
  264. package/dist/node_modules/@shikijs/langs/dist/objective-c.js +2 -0
  265. package/dist/node_modules/@shikijs/langs/dist/objective-cpp.js +2 -0
  266. package/dist/node_modules/@shikijs/langs/dist/ocaml.js +2 -0
  267. package/dist/node_modules/@shikijs/langs/dist/odin.js +2 -0
  268. package/dist/node_modules/@shikijs/langs/dist/openscad.js +2 -0
  269. package/dist/node_modules/@shikijs/langs/dist/pascal.js +2 -0
  270. package/dist/node_modules/@shikijs/langs/dist/perl.js +14 -0
  271. package/dist/node_modules/@shikijs/langs/dist/php.js +16 -0
  272. package/dist/node_modules/@shikijs/langs/dist/pkl.js +2 -0
  273. package/dist/node_modules/@shikijs/langs/dist/plsql.js +2 -0
  274. package/dist/node_modules/@shikijs/langs/dist/po.js +2 -0
  275. package/dist/node_modules/@shikijs/langs/dist/polar.js +2 -0
  276. package/dist/node_modules/@shikijs/langs/dist/postcss.js +2 -0
  277. package/dist/node_modules/@shikijs/langs/dist/powerquery.js +2 -0
  278. package/dist/node_modules/@shikijs/langs/dist/powershell.js +2 -0
  279. package/dist/node_modules/@shikijs/langs/dist/prisma.js +2 -0
  280. package/dist/node_modules/@shikijs/langs/dist/prolog.js +2 -0
  281. package/dist/node_modules/@shikijs/langs/dist/proto.js +2 -0
  282. package/dist/node_modules/@shikijs/langs/dist/pug.js +10 -0
  283. package/dist/node_modules/@shikijs/langs/dist/puppet.js +2 -0
  284. package/dist/node_modules/@shikijs/langs/dist/purescript.js +2 -0
  285. package/dist/node_modules/@shikijs/langs/dist/python.js +2 -0
  286. package/dist/node_modules/@shikijs/langs/dist/qml.js +3 -0
  287. package/dist/node_modules/@shikijs/langs/dist/qmldir.js +2 -0
  288. package/dist/node_modules/@shikijs/langs/dist/qss.js +2 -0
  289. package/dist/node_modules/@shikijs/langs/dist/r.js +2 -0
  290. package/dist/node_modules/@shikijs/langs/dist/racket.js +2 -0
  291. package/dist/node_modules/@shikijs/langs/dist/raku.js +2 -0
  292. package/dist/node_modules/@shikijs/langs/dist/razor.js +8 -0
  293. package/dist/node_modules/@shikijs/langs/dist/reg.js +2 -0
  294. package/dist/node_modules/@shikijs/langs/dist/regexp.js +2 -0
  295. package/dist/node_modules/@shikijs/langs/dist/rel.js +2 -0
  296. package/dist/node_modules/@shikijs/langs/dist/riscv.js +2 -0
  297. package/dist/node_modules/@shikijs/langs/dist/ron.js +2 -0
  298. package/dist/node_modules/@shikijs/langs/dist/rosmsg.js +2 -0
  299. package/dist/node_modules/@shikijs/langs/dist/rst.js +20 -0
  300. package/dist/node_modules/@shikijs/langs/dist/ruby.js +28 -0
  301. package/dist/node_modules/@shikijs/langs/dist/rust.js +2 -0
  302. package/dist/node_modules/@shikijs/langs/dist/sas.js +3 -0
  303. package/dist/node_modules/@shikijs/langs/dist/sass.js +2 -0
  304. package/dist/node_modules/@shikijs/langs/dist/scala.js +2 -0
  305. package/dist/node_modules/@shikijs/langs/dist/scheme.js +2 -0
  306. package/dist/node_modules/@shikijs/langs/dist/scss.js +3 -0
  307. package/dist/node_modules/@shikijs/langs/dist/sdbl.js +2 -0
  308. package/dist/node_modules/@shikijs/langs/dist/shaderlab.js +3 -0
  309. package/dist/node_modules/@shikijs/langs/dist/shellscript.js +2 -0
  310. package/dist/node_modules/@shikijs/langs/dist/shellsession.js +3 -0
  311. package/dist/node_modules/@shikijs/langs/dist/smalltalk.js +2 -0
  312. package/dist/node_modules/@shikijs/langs/dist/solidity.js +2 -0
  313. package/dist/node_modules/@shikijs/langs/dist/soy.js +3 -0
  314. package/dist/node_modules/@shikijs/langs/dist/sparql.js +3 -0
  315. package/dist/node_modules/@shikijs/langs/dist/splunk.js +2 -0
  316. package/dist/node_modules/@shikijs/langs/dist/sql.js +2 -0
  317. package/dist/node_modules/@shikijs/langs/dist/ssh-config.js +2 -0
  318. package/dist/node_modules/@shikijs/langs/dist/stata.js +3 -0
  319. package/dist/node_modules/@shikijs/langs/dist/stylus.js +2 -0
  320. package/dist/node_modules/@shikijs/langs/dist/surrealql.js +3 -0
  321. package/dist/node_modules/@shikijs/langs/dist/svelte.js +12 -0
  322. package/dist/node_modules/@shikijs/langs/dist/swift.js +2 -0
  323. package/dist/node_modules/@shikijs/langs/dist/system-verilog.js +2 -0
  324. package/dist/node_modules/@shikijs/langs/dist/systemd.js +2 -0
  325. package/dist/node_modules/@shikijs/langs/dist/talonscript.js +2 -0
  326. package/dist/node_modules/@shikijs/langs/dist/tasl.js +2 -0
  327. package/dist/node_modules/@shikijs/langs/dist/tcl.js +2 -0
  328. package/dist/node_modules/@shikijs/langs/dist/templ.js +10 -0
  329. package/dist/node_modules/@shikijs/langs/dist/terraform.js +2 -0
  330. package/dist/node_modules/@shikijs/langs/dist/tex.js +3 -0
  331. package/dist/node_modules/@shikijs/langs/dist/toml.js +2 -0
  332. package/dist/node_modules/@shikijs/langs/dist/ts-tags.js +16 -0
  333. package/dist/node_modules/@shikijs/langs/dist/tsv.js +2 -0
  334. package/dist/node_modules/@shikijs/langs/dist/tsx.js +2 -0
  335. package/dist/node_modules/@shikijs/langs/dist/turtle.js +2 -0
  336. package/dist/node_modules/@shikijs/langs/dist/twig.js +16 -0
  337. package/dist/node_modules/@shikijs/langs/dist/typescript.js +2 -0
  338. package/dist/node_modules/@shikijs/langs/dist/typespec.js +2 -0
  339. package/dist/node_modules/@shikijs/langs/dist/typst.js +2 -0
  340. package/dist/node_modules/@shikijs/langs/dist/v.js +2 -0
  341. package/dist/node_modules/@shikijs/langs/dist/vala.js +2 -0
  342. package/dist/node_modules/@shikijs/langs/dist/vb.js +2 -0
  343. package/dist/node_modules/@shikijs/langs/dist/verilog.js +2 -0
  344. package/dist/node_modules/@shikijs/langs/dist/vhdl.js +2 -0
  345. package/dist/node_modules/@shikijs/langs/dist/viml.js +2 -0
  346. package/dist/node_modules/@shikijs/langs/dist/vue-directives.js +2 -0
  347. package/dist/node_modules/@shikijs/langs/dist/vue-html.js +3 -0
  348. package/dist/node_modules/@shikijs/langs/dist/vue-interpolations.js +2 -0
  349. package/dist/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.js +3 -0
  350. package/dist/node_modules/@shikijs/langs/dist/vue-vine.js +16 -0
  351. package/dist/node_modules/@shikijs/langs/dist/vue.js +24 -0
  352. package/dist/node_modules/@shikijs/langs/dist/vyper.js +2 -0
  353. package/dist/node_modules/@shikijs/langs/dist/wasm.js +2 -0
  354. package/dist/node_modules/@shikijs/langs/dist/wenyan.js +2 -0
  355. package/dist/node_modules/@shikijs/langs/dist/wgsl.js +2 -0
  356. package/dist/node_modules/@shikijs/langs/dist/wikitext.js +2 -0
  357. package/dist/node_modules/@shikijs/langs/dist/wit.js +2 -0
  358. package/dist/node_modules/@shikijs/langs/dist/wolfram.js +2 -0
  359. package/dist/node_modules/@shikijs/langs/dist/xml.js +3 -0
  360. package/dist/node_modules/@shikijs/langs/dist/xsl.js +3 -0
  361. package/dist/node_modules/@shikijs/langs/dist/yaml.js +2 -0
  362. package/dist/node_modules/@shikijs/langs/dist/zenscript.js +2 -0
  363. package/dist/node_modules/@shikijs/langs/dist/zig.js +2 -0
  364. package/dist/node_modules/@shikijs/themes/dist/andromeeda.js +2 -0
  365. package/dist/node_modules/@shikijs/themes/dist/aurora-x.js +2 -0
  366. package/dist/node_modules/@shikijs/themes/dist/ayu-dark.js +2 -0
  367. package/dist/node_modules/@shikijs/themes/dist/ayu-light.js +2 -0
  368. package/dist/node_modules/@shikijs/themes/dist/ayu-mirage.js +2 -0
  369. package/dist/node_modules/@shikijs/themes/dist/catppuccin-frappe.js +2 -0
  370. package/dist/node_modules/@shikijs/themes/dist/catppuccin-latte.js +2 -0
  371. package/dist/node_modules/@shikijs/themes/dist/catppuccin-macchiato.js +2 -0
  372. package/dist/node_modules/@shikijs/themes/dist/catppuccin-mocha.js +2 -0
  373. package/dist/node_modules/@shikijs/themes/dist/dark-plus.js +2 -0
  374. package/dist/node_modules/@shikijs/themes/dist/dracula-soft.js +2 -0
  375. package/dist/node_modules/@shikijs/themes/dist/dracula.js +2 -0
  376. package/dist/node_modules/@shikijs/themes/dist/everforest-dark.js +2 -0
  377. package/dist/node_modules/@shikijs/themes/dist/everforest-light.js +2 -0
  378. package/dist/node_modules/@shikijs/themes/dist/github-dark-default.js +2 -0
  379. package/dist/node_modules/@shikijs/themes/dist/github-dark-dimmed.js +2 -0
  380. package/dist/node_modules/@shikijs/themes/dist/github-dark-high-contrast.js +2 -0
  381. package/dist/node_modules/@shikijs/themes/dist/github-dark.js +2 -0
  382. package/dist/node_modules/@shikijs/themes/dist/github-light-default.js +2 -0
  383. package/dist/node_modules/@shikijs/themes/dist/github-light-high-contrast.js +2 -0
  384. package/dist/node_modules/@shikijs/themes/dist/github-light.js +2 -0
  385. package/dist/node_modules/@shikijs/themes/dist/gruvbox-dark-hard.js +2 -0
  386. package/dist/node_modules/@shikijs/themes/dist/gruvbox-dark-medium.js +2 -0
  387. package/dist/node_modules/@shikijs/themes/dist/gruvbox-dark-soft.js +2 -0
  388. package/dist/node_modules/@shikijs/themes/dist/gruvbox-light-hard.js +2 -0
  389. package/dist/node_modules/@shikijs/themes/dist/gruvbox-light-medium.js +2 -0
  390. package/dist/node_modules/@shikijs/themes/dist/gruvbox-light-soft.js +2 -0
  391. package/dist/node_modules/@shikijs/themes/dist/horizon-bright.js +2 -0
  392. package/dist/node_modules/@shikijs/themes/dist/horizon.js +2 -0
  393. package/dist/node_modules/@shikijs/themes/dist/houston.js +2 -0
  394. package/dist/node_modules/@shikijs/themes/dist/kanagawa-dragon.js +2 -0
  395. package/dist/node_modules/@shikijs/themes/dist/kanagawa-lotus.js +2 -0
  396. package/dist/node_modules/@shikijs/themes/dist/kanagawa-wave.js +2 -0
  397. package/dist/node_modules/@shikijs/themes/dist/laserwave.js +2 -0
  398. package/dist/node_modules/@shikijs/themes/dist/light-plus.js +2 -0
  399. package/dist/node_modules/@shikijs/themes/dist/material-theme-darker.js +2 -0
  400. package/dist/node_modules/@shikijs/themes/dist/material-theme-lighter.js +2 -0
  401. package/dist/node_modules/@shikijs/themes/dist/material-theme-ocean.js +2 -0
  402. package/dist/node_modules/@shikijs/themes/dist/material-theme-palenight.js +2 -0
  403. package/dist/node_modules/@shikijs/themes/dist/material-theme.js +2 -0
  404. package/dist/node_modules/@shikijs/themes/dist/min-dark.js +2 -0
  405. package/dist/node_modules/@shikijs/themes/dist/min-light.js +2 -0
  406. package/dist/node_modules/@shikijs/themes/dist/monokai.js +2 -0
  407. package/dist/node_modules/@shikijs/themes/dist/night-owl-light.js +2 -0
  408. package/dist/node_modules/@shikijs/themes/dist/night-owl.js +2 -0
  409. package/dist/node_modules/@shikijs/themes/dist/nord.js +2 -0
  410. package/dist/node_modules/@shikijs/themes/dist/one-dark-pro.js +2 -0
  411. package/dist/node_modules/@shikijs/themes/dist/one-light.js +2 -0
  412. package/dist/node_modules/@shikijs/themes/dist/plastic.js +2 -0
  413. package/dist/node_modules/@shikijs/themes/dist/poimandres.js +2 -0
  414. package/dist/node_modules/@shikijs/themes/dist/red.js +2 -0
  415. package/dist/node_modules/@shikijs/themes/dist/rose-pine-dawn.js +2 -0
  416. package/dist/node_modules/@shikijs/themes/dist/rose-pine-moon.js +2 -0
  417. package/dist/node_modules/@shikijs/themes/dist/rose-pine.js +2 -0
  418. package/dist/node_modules/@shikijs/themes/dist/slack-dark.js +2 -0
  419. package/dist/node_modules/@shikijs/themes/dist/slack-ochin.js +2 -0
  420. package/dist/node_modules/@shikijs/themes/dist/snazzy-light.js +2 -0
  421. package/dist/node_modules/@shikijs/themes/dist/solarized-dark.js +2 -0
  422. package/dist/node_modules/@shikijs/themes/dist/solarized-light.js +2 -0
  423. package/dist/node_modules/@shikijs/themes/dist/synthwave-84.js +2 -0
  424. package/dist/node_modules/@shikijs/themes/dist/tokyo-night.js +2 -0
  425. package/dist/node_modules/@shikijs/themes/dist/vesper.js +2 -0
  426. package/dist/node_modules/@shikijs/themes/dist/vitesse-black.js +2 -0
  427. package/dist/node_modules/@shikijs/themes/dist/vitesse-dark.js +2 -0
  428. package/dist/node_modules/@shikijs/themes/dist/vitesse-light.js +2 -0
  429. package/dist/node_modules/@shikijs/types/dist/index.js +6 -0
  430. package/dist/node_modules/@shikijs/vscode-textmate/dist/index.js +1580 -0
  431. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js +51 -0
  432. package/dist/node_modules/@ungap/structured-clone/esm/index.js +4 -0
  433. package/dist/node_modules/@ungap/structured-clone/esm/serialize.js +91 -0
  434. package/dist/node_modules/@ungap/structured-clone/esm/types.js +2 -0
  435. package/dist/node_modules/@xyflow/react/dist/esm/index.js +3280 -0
  436. package/dist/node_modules/@xyflow/system/dist/esm/index.js +1839 -0
  437. package/dist/node_modules/ai/dist/index.js +1083 -0
  438. package/dist/node_modules/bail/index.js +4 -0
  439. package/dist/node_modules/character-entities-html4/index.js +255 -0
  440. package/dist/node_modules/character-entities-legacy/index.js +2 -0
  441. package/dist/node_modules/chevrotain/lib/src/parse/errors_public.js +6 -1
  442. package/dist/node_modules/chevrotain/lib/src/scan/lexer.js +4 -10
  443. package/dist/node_modules/chevrotain/lib/src/scan/lexer_public.js +56 -65
  444. package/dist/node_modules/classcat/index.js +8 -0
  445. package/dist/node_modules/comma-separated-tokens/index.js +5 -1
  446. package/dist/node_modules/d3/src/index.js +5 -0
  447. package/dist/node_modules/d3-drag/src/constant.js +2 -0
  448. package/dist/node_modules/d3-drag/src/drag.js +112 -0
  449. package/dist/node_modules/d3-drag/src/event.js +60 -0
  450. package/dist/node_modules/d3-drag/src/nodrag.js +13 -0
  451. package/dist/node_modules/d3-drag/src/noevent.js +11 -0
  452. package/dist/node_modules/d3-interpolate/src/zoom.js +39 -0
  453. package/dist/node_modules/d3-selection/src/pointer.js +16 -0
  454. package/dist/node_modules/d3-selection/src/sourceEvent.js +6 -0
  455. package/dist/node_modules/d3-zoom/src/constant.js +2 -0
  456. package/dist/node_modules/d3-zoom/src/event.js +26 -0
  457. package/dist/node_modules/d3-zoom/src/index.js +1 -1
  458. package/dist/node_modules/d3-zoom/src/noevent.js +7 -0
  459. package/dist/node_modules/d3-zoom/src/zoom.js +214 -1
  460. package/dist/node_modules/decode-named-character-reference/index.dom.js +8 -0
  461. package/dist/node_modules/entities/dist/esm/decode-codepoint.js +35 -0
  462. package/dist/node_modules/entities/dist/esm/decode.js +129 -0
  463. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.js +2 -0
  464. package/dist/node_modules/estree-util-is-identifier-name/lib/index.js +5 -0
  465. package/dist/node_modules/extend/index.js +37 -0
  466. package/dist/node_modules/hast-util-from-parse5/lib/index.js +121 -0
  467. package/dist/node_modules/hast-util-raw/lib/index.js +204 -0
  468. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.js +34 -0
  469. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.js +5 -0
  470. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.js +150 -0
  471. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.js +267 -0
  472. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.js +9 -0
  473. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.js +65 -0
  474. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/index.js +8 -0
  475. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.js +69 -0
  476. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.js +1936 -0
  477. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.js +239 -0
  478. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.js +22 -0
  479. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.js +1451 -0
  480. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.js +75 -0
  481. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.js +155 -0
  482. package/dist/node_modules/hast-util-sanitize/lib/index.js +159 -0
  483. package/dist/node_modules/hast-util-sanitize/lib/schema.js +73 -0
  484. package/dist/node_modules/hast-util-to-html/lib/handle/comment.js +9 -0
  485. package/dist/node_modules/hast-util-to-html/lib/handle/doctype.js +4 -0
  486. package/dist/node_modules/hast-util-to-html/lib/handle/element.js +47 -0
  487. package/dist/node_modules/hast-util-to-html/lib/handle/index.js +27 -0
  488. package/dist/node_modules/hast-util-to-html/lib/handle/raw.js +5 -0
  489. package/dist/node_modules/hast-util-to-html/lib/handle/root.js +4 -0
  490. package/dist/node_modules/hast-util-to-html/lib/handle/text.js +6 -0
  491. package/dist/node_modules/hast-util-to-html/lib/index.js +46 -0
  492. package/dist/node_modules/hast-util-to-html/lib/omission/closing.js +84 -0
  493. package/dist/node_modules/hast-util-to-html/lib/omission/omission.js +8 -0
  494. package/dist/node_modules/hast-util-to-html/lib/omission/opening.js +37 -0
  495. package/dist/node_modules/hast-util-to-html/lib/omission/util/siblings.js +12 -0
  496. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +251 -0
  497. package/dist/node_modules/hast-util-to-parse5/lib/index.js +113 -0
  498. package/dist/node_modules/hast-util-whitespace/lib/index.js +8 -0
  499. package/dist/node_modules/html-url-attributes/lib/index.js +34 -0
  500. package/dist/node_modules/html-void-elements/index.js +23 -0
  501. package/dist/node_modules/inline-style-parser/cjs/index.js +88 -0
  502. package/dist/node_modules/lodash/_Symbol.js +7 -0
  503. package/dist/node_modules/lodash/_baseGetTag.js +13 -0
  504. package/dist/node_modules/lodash/_baseTrim.js +11 -0
  505. package/dist/node_modules/lodash/_freeGlobal.js +6 -0
  506. package/dist/node_modules/lodash/_getRawTag.js +17 -0
  507. package/dist/node_modules/lodash/_objectToString.js +10 -0
  508. package/dist/node_modules/lodash/_root.js +8 -0
  509. package/dist/node_modules/lodash/_trimmedEndIndex.js +11 -0
  510. package/dist/node_modules/lodash/debounce.js +53 -0
  511. package/dist/node_modules/lodash/isObject.js +10 -0
  512. package/dist/node_modules/lodash/isObjectLike.js +9 -0
  513. package/dist/node_modules/lodash/isSymbol.js +12 -0
  514. package/dist/node_modules/lodash/now.js +10 -0
  515. package/dist/node_modules/lodash/toNumber.js +22 -0
  516. package/dist/node_modules/mdast-util-from-markdown/lib/index.js +555 -0
  517. package/dist/node_modules/mdast-util-to-hast/lib/footer.js +101 -0
  518. package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +10 -0
  519. package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js +13 -0
  520. package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js +20 -0
  521. package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js +10 -0
  522. package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +10 -0
  523. package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +28 -0
  524. package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js +10 -0
  525. package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js +10 -0
  526. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +19 -0
  527. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js +13 -0
  528. package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js +54 -0
  529. package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +15 -0
  530. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +16 -0
  531. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js +13 -0
  532. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +57 -0
  533. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js +18 -0
  534. package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +10 -0
  535. package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js +8 -0
  536. package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js +10 -0
  537. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +10 -0
  538. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +22 -0
  539. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js +33 -0
  540. package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js +9 -0
  541. package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +10 -0
  542. package/dist/node_modules/mdast-util-to-hast/lib/index.js +17 -0
  543. package/dist/node_modules/mdast-util-to-hast/lib/revert.js +18 -0
  544. package/dist/node_modules/mdast-util-to-hast/lib/state.js +106 -0
  545. package/dist/node_modules/micromark/lib/constructs.js +79 -0
  546. package/dist/node_modules/micromark/lib/create-tokenizer.js +175 -0
  547. package/dist/node_modules/micromark/lib/initialize/content.js +32 -0
  548. package/dist/node_modules/micromark/lib/initialize/document.js +101 -0
  549. package/dist/node_modules/micromark/lib/initialize/flow.js +23 -0
  550. package/dist/node_modules/micromark/lib/initialize/text.js +84 -0
  551. package/dist/node_modules/micromark/lib/parse.js +27 -0
  552. package/dist/node_modules/micromark/lib/postprocess.js +6 -0
  553. package/dist/node_modules/micromark/lib/preprocess.js +30 -0
  554. package/dist/node_modules/micromark-core-commonmark/lib/attention.js +112 -0
  555. package/dist/node_modules/micromark-core-commonmark/lib/autolink.js +41 -0
  556. package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js +36 -0
  557. package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js +15 -0
  558. package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js +27 -0
  559. package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js +88 -0
  560. package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js +42 -0
  561. package/dist/node_modules/micromark-core-commonmark/lib/code-text.js +41 -0
  562. package/dist/node_modules/micromark-core-commonmark/lib/content.js +46 -0
  563. package/dist/node_modules/micromark-core-commonmark/lib/definition.js +59 -0
  564. package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +15 -0
  565. package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js +65 -0
  566. package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js +140 -0
  567. package/dist/node_modules/micromark-core-commonmark/lib/html-text.js +98 -0
  568. package/dist/node_modules/micromark-core-commonmark/lib/label-end.js +157 -0
  569. package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js +21 -0
  570. package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js +18 -0
  571. package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js +12 -0
  572. package/dist/node_modules/micromark-core-commonmark/lib/list.js +77 -0
  573. package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js +57 -0
  574. package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js +23 -0
  575. package/dist/node_modules/micromark-factory-destination/index.js +24 -0
  576. package/dist/node_modules/micromark-factory-label/index.js +18 -0
  577. package/dist/node_modules/micromark-factory-title/index.js +22 -0
  578. package/dist/node_modules/micromark-factory-whitespace/index.js +10 -0
  579. package/dist/node_modules/micromark-util-character/index.js +6 -5
  580. package/dist/node_modules/micromark-util-chunked/index.js +4 -1
  581. package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js +5 -0
  582. package/dist/node_modules/micromark-util-decode-string/index.js +15 -0
  583. package/dist/node_modules/micromark-util-html-tag-name/index.js +7 -0
  584. package/dist/node_modules/micromark-util-sanitize-uri/index.js +16 -0
  585. package/dist/node_modules/micromark-util-subtokenize/index.js +33 -0
  586. package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +55 -0
  587. package/dist/node_modules/motion/dist/es/react.js +3 -0
  588. package/dist/node_modules/nanoid/index.browser.js +7 -0
  589. package/dist/node_modules/nanoid/url-alphabet/index.js +2 -0
  590. package/dist/node_modules/property-information/index.js +1 -0
  591. package/dist/node_modules/property-information/lib/hast-to-react.js +20 -0
  592. package/dist/node_modules/rehype-harden/dist/index.js +168 -0
  593. package/dist/node_modules/rehype-raw/lib/index.js +10 -0
  594. package/dist/node_modules/rehype-sanitize/lib/index.js +7 -0
  595. package/dist/node_modules/remark-parse/lib/index.js +14 -0
  596. package/dist/node_modules/remark-rehype/lib/index.js +16 -0
  597. package/dist/node_modules/remend/dist/index.js +459 -0
  598. package/dist/node_modules/shiki/dist/bundle-full.js +11 -0
  599. package/dist/node_modules/shiki/dist/langs.js +1278 -0
  600. package/dist/node_modules/shiki/dist/themes.js +393 -0
  601. package/dist/node_modules/shiki/dist/wasm.js +2 -0
  602. package/dist/node_modules/space-separated-tokens/index.js +4 -1
  603. package/dist/node_modules/streamdown/dist/chunk-RLXIAIE6.js +2189 -0
  604. package/dist/node_modules/streamdown/dist/highlighted-body-B3W2YXNL.js +33 -0
  605. package/dist/node_modules/streamdown/dist/index.js +2 -0
  606. package/dist/node_modules/streamdown/dist/mermaid-3ZIDBTTL.js +3 -0
  607. package/dist/node_modules/streamdown/node_modules/marked/lib/marked.esm.js +1421 -0
  608. package/dist/node_modules/stringify-entities/lib/constant/dangerous.js +11 -0
  609. package/dist/node_modules/stringify-entities/lib/core.js +21 -0
  610. package/dist/node_modules/stringify-entities/lib/index.js +6 -0
  611. package/dist/node_modules/stringify-entities/lib/util/format-smart.js +12 -0
  612. package/dist/node_modules/stringify-entities/lib/util/to-decimal.js +6 -0
  613. package/dist/node_modules/stringify-entities/lib/util/to-hexadecimal.js +6 -0
  614. package/dist/node_modules/stringify-entities/lib/util/to-named.js +15 -0
  615. package/dist/node_modules/style-to-js/cjs/index.js +17 -0
  616. package/dist/node_modules/style-to-js/cjs/utilities.js +16 -0
  617. package/dist/node_modules/style-to-object/cjs/index.js +21 -0
  618. package/dist/node_modules/trim-lines/index.js +19 -0
  619. package/dist/node_modules/trough/lib/index.js +48 -0
  620. package/dist/node_modules/unified/lib/callable-instance.js +7 -0
  621. package/dist/node_modules/unified/lib/index.js +160 -0
  622. package/dist/node_modules/unified/node_modules/is-plain-obj/index.js +6 -0
  623. package/dist/node_modules/unist-util-position/lib/index.js +20 -0
  624. package/dist/node_modules/unist-util-stringify-position/lib/index.js +13 -0
  625. package/dist/node_modules/vfile/lib/index.js +87 -0
  626. package/dist/node_modules/vfile/lib/minpath.browser.js +97 -0
  627. package/dist/node_modules/vfile/lib/minproc.browser.js +5 -0
  628. package/dist/node_modules/vfile/lib/minurl.browser.js +29 -0
  629. package/dist/node_modules/vfile/lib/minurl.shared.js +4 -0
  630. package/dist/node_modules/vfile-location/lib/index.js +41 -0
  631. package/dist/node_modules/vfile-message/lib/index.js +22 -0
  632. package/dist/node_modules/zod/v3/ZodError.js +79 -0
  633. package/dist/node_modules/zod/v3/errors.js +6 -0
  634. package/dist/node_modules/zod/v3/helpers/errorUtil.js +5 -0
  635. package/dist/node_modules/zod/v3/helpers/parseUtil.js +90 -0
  636. package/dist/node_modules/zod/v3/helpers/util.js +72 -0
  637. package/dist/node_modules/zod/v3/locales/en.js +58 -0
  638. package/dist/node_modules/zod/v3/types.js +2425 -0
  639. package/dist/node_modules/zod/v4/classic/errors.js +21 -0
  640. package/dist/node_modules/zod/v4/classic/iso.js +29 -0
  641. package/dist/node_modules/zod/v4/classic/parse.js +4 -0
  642. package/dist/node_modules/zod/v4/classic/schemas.js +392 -0
  643. package/dist/node_modules/zod/v4/core/api.js +532 -0
  644. package/dist/node_modules/zod/v4/core/checks.js +283 -0
  645. package/dist/node_modules/zod/v4/core/core.js +44 -0
  646. package/dist/node_modules/zod/v4/core/doc.js +21 -0
  647. package/dist/node_modules/zod/v4/core/errors.js +40 -0
  648. package/dist/node_modules/zod/v4/core/json-schema-processors.js +305 -0
  649. package/dist/node_modules/zod/v4/core/parse.js +66 -0
  650. package/dist/node_modules/zod/v4/core/regexes.js +28 -0
  651. package/dist/node_modules/zod/v4/core/registries.js +38 -0
  652. package/dist/node_modules/zod/v4/core/schemas.js +863 -0
  653. package/dist/node_modules/zod/v4/core/to-json-schema.js +220 -0
  654. package/dist/node_modules/zod/v4/core/util.js +267 -0
  655. package/dist/node_modules/zod/v4/core/versions.js +6 -0
  656. package/dist/node_modules/zwitch/index.js +14 -0
  657. package/dist/pages/DashboardPage.js +58 -0
  658. package/dist/pages/DebugWorkflowDetailsPage.js +121 -0
  659. package/dist/pages/DebugWorkflowsPage.js +130 -0
  660. package/dist/pages/EmbedWorkbenchPage.js +73 -0
  661. package/dist/pages/PipelineDebugPage.js +114 -0
  662. package/dist/pages/WorkbenchPage.js +67 -0
  663. package/dist/pages/WorkspacePage.js +1 -1
  664. package/dist/providers/ComponentOverridesProvider.js +12 -0
  665. package/dist/providers/InvalidationEventsProvider.js +43 -0
  666. package/dist/providers/SseProvider.js +44 -0
  667. package/dist/routing/LocalRouter.js +3 -0
  668. package/package.json +3 -3
@@ -0,0 +1,1936 @@
1
+ import { CODE_POINTS, REPLACEMENT_CHARACTER } from "../common/unicode.js";
2
+ import { ERR } from "../common/error-codes.js";
3
+ import { TokenType, getTokenAttr } from "../common/token.js";
4
+ import { ATTRS, DOCUMENT_MODE, NS, NUMBERED_HEADERS, SPECIAL_ELEMENTS, TAG_ID, TAG_NAMES, getTagID } from "../common/html.js";
5
+ import { Tokenizer, TokenizerMode } from "../tokenizer/index.js";
6
+ import { OpenElementStack } from "./open-element-stack.js";
7
+ import { EntryType, FormattingElementList } from "./formatting-element-list.js";
8
+ import { defaultTreeAdapter } from "../tree-adapters/default.js";
9
+ import { getDocumentMode, isConforming } from "../common/doctype.js";
10
+ import { adjustTokenMathMLAttrs, adjustTokenSVGAttrs, adjustTokenSVGTagName, adjustTokenXMLAttrs, causesExit, isIntegrationPoint } from "../common/foreign-content.js";
11
+ var HIDDEN_INPUT_TYPE = "hidden", AA_OUTER_LOOP_ITER = 8, AA_INNER_LOOP_ITER = 3, InsertionMode;
12
+ (function(v) {
13
+ v[v.INITIAL = 0] = "INITIAL", v[v.BEFORE_HTML = 1] = "BEFORE_HTML", v[v.BEFORE_HEAD = 2] = "BEFORE_HEAD", v[v.IN_HEAD = 3] = "IN_HEAD", v[v.IN_HEAD_NO_SCRIPT = 4] = "IN_HEAD_NO_SCRIPT", v[v.AFTER_HEAD = 5] = "AFTER_HEAD", v[v.IN_BODY = 6] = "IN_BODY", v[v.TEXT = 7] = "TEXT", v[v.IN_TABLE = 8] = "IN_TABLE", v[v.IN_TABLE_TEXT = 9] = "IN_TABLE_TEXT", v[v.IN_CAPTION = 10] = "IN_CAPTION", v[v.IN_COLUMN_GROUP = 11] = "IN_COLUMN_GROUP", v[v.IN_TABLE_BODY = 12] = "IN_TABLE_BODY", v[v.IN_ROW = 13] = "IN_ROW", v[v.IN_CELL = 14] = "IN_CELL", v[v.IN_SELECT = 15] = "IN_SELECT", v[v.IN_SELECT_IN_TABLE = 16] = "IN_SELECT_IN_TABLE", v[v.IN_TEMPLATE = 17] = "IN_TEMPLATE", v[v.AFTER_BODY = 18] = "AFTER_BODY", v[v.IN_FRAMESET = 19] = "IN_FRAMESET", v[v.AFTER_FRAMESET = 20] = "AFTER_FRAMESET", v[v.AFTER_AFTER_BODY = 21] = "AFTER_AFTER_BODY", v[v.AFTER_AFTER_FRAMESET = 22] = "AFTER_AFTER_FRAMESET";
14
+ })(InsertionMode ||= {});
15
+ var BASE_LOC = {
16
+ startLine: -1,
17
+ startCol: -1,
18
+ startOffset: -1,
19
+ endLine: -1,
20
+ endCol: -1,
21
+ endOffset: -1
22
+ }, TABLE_STRUCTURE_TAGS = new Set([
23
+ TAG_ID.TABLE,
24
+ TAG_ID.TBODY,
25
+ TAG_ID.TFOOT,
26
+ TAG_ID.THEAD,
27
+ TAG_ID.TR
28
+ ]), defaultParserOptions = {
29
+ scriptingEnabled: !0,
30
+ sourceCodeLocationInfo: !1,
31
+ treeAdapter: defaultTreeAdapter,
32
+ onParseError: null
33
+ }, Parser = class {
34
+ constructor(v, q, J = null, Y = null) {
35
+ this.fragmentContext = J, this.scriptHandler = Y, this.currentToken = null, this.stopped = !1, this.insertionMode = InsertionMode.INITIAL, this.originalInsertionMode = InsertionMode.INITIAL, this.headElement = null, this.formElement = null, this.currentNotInHTML = !1, this.tmplInsertionModeStack = [], this.pendingCharacterTokens = [], this.hasNonWhitespacePendingCharacterToken = !1, this.framesetOk = !0, this.skipNextNewLine = !1, this.fosterParentingEnabled = !1, this.options = {
36
+ ...defaultParserOptions,
37
+ ...v
38
+ }, this.treeAdapter = this.options.treeAdapter, this.onParseError = this.options.onParseError, this.onParseError && (this.options.sourceCodeLocationInfo = !0), this.document = q ?? this.treeAdapter.createDocument(), this.tokenizer = new Tokenizer(this.options, this), this.activeFormattingElements = new FormattingElementList(this.treeAdapter), this.fragmentContextID = J ? getTagID(this.treeAdapter.getTagName(J)) : TAG_ID.UNKNOWN, this._setContextModes(J ?? this.document, this.fragmentContextID), this.openElements = new OpenElementStack(this.document, this.treeAdapter, this);
39
+ }
40
+ static parse(v, q) {
41
+ let J = new this(q);
42
+ return J.tokenizer.write(v, !0), J.document;
43
+ }
44
+ static getFragmentParser(v, q) {
45
+ let J = {
46
+ ...defaultParserOptions,
47
+ ...q
48
+ };
49
+ v ??= J.treeAdapter.createElement(TAG_NAMES.TEMPLATE, NS.HTML, []);
50
+ let Y = J.treeAdapter.createElement("documentmock", NS.HTML, []), X = new this(J, Y, v);
51
+ return X.fragmentContextID === TAG_ID.TEMPLATE && X.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE), X._initTokenizerForFragmentParsing(), X._insertFakeRootElement(), X._resetInsertionMode(), X._findFormInFragmentContext(), X;
52
+ }
53
+ getFragment() {
54
+ let v = this.treeAdapter.getFirstChild(this.document), q = this.treeAdapter.createDocumentFragment();
55
+ return this._adoptNodes(v, q), q;
56
+ }
57
+ _err(v, q, J) {
58
+ if (!this.onParseError) return;
59
+ let Y = v.location ?? BASE_LOC, X = {
60
+ code: q,
61
+ startLine: Y.startLine,
62
+ startCol: Y.startCol,
63
+ startOffset: Y.startOffset,
64
+ endLine: J ? Y.startLine : Y.endLine,
65
+ endCol: J ? Y.startCol : Y.endCol,
66
+ endOffset: J ? Y.startOffset : Y.endOffset
67
+ };
68
+ this.onParseError(X);
69
+ }
70
+ onItemPush(v, q, J) {
71
+ var Y, X;
72
+ (X = (Y = this.treeAdapter).onItemPush) == null || X.call(Y, v), J && this.openElements.stackTop > 0 && this._setContextModes(v, q);
73
+ }
74
+ onItemPop(v, q) {
75
+ var J, Y;
76
+ if (this.options.sourceCodeLocationInfo && this._setEndLocation(v, this.currentToken), (Y = (J = this.treeAdapter).onItemPop) == null || Y.call(J, v, this.openElements.current), q) {
77
+ let v, q;
78
+ this.openElements.stackTop === 0 && this.fragmentContext ? (v = this.fragmentContext, q = this.fragmentContextID) : {current: v, currentTagId: q} = this.openElements, this._setContextModes(v, q);
79
+ }
80
+ }
81
+ _setContextModes(v, q) {
82
+ let J = v === this.document || v && this.treeAdapter.getNamespaceURI(v) === NS.HTML;
83
+ this.currentNotInHTML = !J, this.tokenizer.inForeignNode = !J && v !== void 0 && q !== void 0 && !this._isIntegrationPoint(q, v);
84
+ }
85
+ _switchToTextParsing(v, q) {
86
+ this._insertElement(v, NS.HTML), this.tokenizer.state = q, this.originalInsertionMode = this.insertionMode, this.insertionMode = InsertionMode.TEXT;
87
+ }
88
+ switchToPlaintextParsing() {
89
+ this.insertionMode = InsertionMode.TEXT, this.originalInsertionMode = InsertionMode.IN_BODY, this.tokenizer.state = TokenizerMode.PLAINTEXT;
90
+ }
91
+ _getAdjustedCurrentElement() {
92
+ return this.openElements.stackTop === 0 && this.fragmentContext ? this.fragmentContext : this.openElements.current;
93
+ }
94
+ _findFormInFragmentContext() {
95
+ let v = this.fragmentContext;
96
+ for (; v;) {
97
+ if (this.treeAdapter.getTagName(v) === TAG_NAMES.FORM) {
98
+ this.formElement = v;
99
+ break;
100
+ }
101
+ v = this.treeAdapter.getParentNode(v);
102
+ }
103
+ }
104
+ _initTokenizerForFragmentParsing() {
105
+ if (!(!this.fragmentContext || this.treeAdapter.getNamespaceURI(this.fragmentContext) !== NS.HTML)) switch (this.fragmentContextID) {
106
+ case TAG_ID.TITLE:
107
+ case TAG_ID.TEXTAREA:
108
+ this.tokenizer.state = TokenizerMode.RCDATA;
109
+ break;
110
+ case TAG_ID.STYLE:
111
+ case TAG_ID.XMP:
112
+ case TAG_ID.IFRAME:
113
+ case TAG_ID.NOEMBED:
114
+ case TAG_ID.NOFRAMES:
115
+ case TAG_ID.NOSCRIPT:
116
+ this.tokenizer.state = TokenizerMode.RAWTEXT;
117
+ break;
118
+ case TAG_ID.SCRIPT:
119
+ this.tokenizer.state = TokenizerMode.SCRIPT_DATA;
120
+ break;
121
+ case TAG_ID.PLAINTEXT:
122
+ this.tokenizer.state = TokenizerMode.PLAINTEXT;
123
+ break;
124
+ default:
125
+ }
126
+ }
127
+ _setDocumentType(v) {
128
+ let q = v.name || "", J = v.publicId || "", Y = v.systemId || "";
129
+ if (this.treeAdapter.setDocumentType(this.document, q, J, Y), v.location) {
130
+ let q = this.treeAdapter.getChildNodes(this.document).find((v) => this.treeAdapter.isDocumentTypeNode(v));
131
+ q && this.treeAdapter.setNodeSourceCodeLocation(q, v.location);
132
+ }
133
+ }
134
+ _attachElementToTree(v, q) {
135
+ if (this.options.sourceCodeLocationInfo) {
136
+ let J = q && {
137
+ ...q,
138
+ startTag: q
139
+ };
140
+ this.treeAdapter.setNodeSourceCodeLocation(v, J);
141
+ }
142
+ if (this._shouldFosterParentOnInsertion()) this._fosterParentElement(v);
143
+ else {
144
+ let q = this.openElements.currentTmplContentOrNode;
145
+ this.treeAdapter.appendChild(q ?? this.document, v);
146
+ }
147
+ }
148
+ _appendElement(v, q) {
149
+ let J = this.treeAdapter.createElement(v.tagName, q, v.attrs);
150
+ this._attachElementToTree(J, v.location);
151
+ }
152
+ _insertElement(v, q) {
153
+ let J = this.treeAdapter.createElement(v.tagName, q, v.attrs);
154
+ this._attachElementToTree(J, v.location), this.openElements.push(J, v.tagID);
155
+ }
156
+ _insertFakeElement(v, q) {
157
+ let J = this.treeAdapter.createElement(v, NS.HTML, []);
158
+ this._attachElementToTree(J, null), this.openElements.push(J, q);
159
+ }
160
+ _insertTemplate(v) {
161
+ let q = this.treeAdapter.createElement(v.tagName, NS.HTML, v.attrs), J = this.treeAdapter.createDocumentFragment();
162
+ this.treeAdapter.setTemplateContent(q, J), this._attachElementToTree(q, v.location), this.openElements.push(q, v.tagID), this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(J, null);
163
+ }
164
+ _insertFakeRootElement() {
165
+ let v = this.treeAdapter.createElement(TAG_NAMES.HTML, NS.HTML, []);
166
+ this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(v, null), this.treeAdapter.appendChild(this.openElements.current, v), this.openElements.push(v, TAG_ID.HTML);
167
+ }
168
+ _appendCommentNode(v, q) {
169
+ let J = this.treeAdapter.createCommentNode(v.data);
170
+ this.treeAdapter.appendChild(q, J), this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(J, v.location);
171
+ }
172
+ _insertCharacters(v) {
173
+ let q, J;
174
+ if (this._shouldFosterParentOnInsertion() ? ({parent: q, beforeElement: J} = this._findFosterParentingLocation(), J ? this.treeAdapter.insertTextBefore(q, v.chars, J) : this.treeAdapter.insertText(q, v.chars)) : (q = this.openElements.currentTmplContentOrNode, this.treeAdapter.insertText(q, v.chars)), !v.location) return;
175
+ let Y = this.treeAdapter.getChildNodes(q), X = Y[(J ? Y.lastIndexOf(J) : Y.length) - 1];
176
+ if (this.treeAdapter.getNodeSourceCodeLocation(X)) {
177
+ let { endLine: q, endCol: J, endOffset: Y } = v.location;
178
+ this.treeAdapter.updateNodeSourceCodeLocation(X, {
179
+ endLine: q,
180
+ endCol: J,
181
+ endOffset: Y
182
+ });
183
+ } else this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(X, v.location);
184
+ }
185
+ _adoptNodes(v, q) {
186
+ for (let J = this.treeAdapter.getFirstChild(v); J; J = this.treeAdapter.getFirstChild(v)) this.treeAdapter.detachNode(J), this.treeAdapter.appendChild(q, J);
187
+ }
188
+ _setEndLocation(v, q) {
189
+ if (this.treeAdapter.getNodeSourceCodeLocation(v) && q.location) {
190
+ let J = q.location, X = this.treeAdapter.getTagName(v), Z = q.type === TokenType.END_TAG && X === q.tagName ? {
191
+ endTag: { ...J },
192
+ endLine: J.endLine,
193
+ endCol: J.endCol,
194
+ endOffset: J.endOffset
195
+ } : {
196
+ endLine: J.startLine,
197
+ endCol: J.startCol,
198
+ endOffset: J.startOffset
199
+ };
200
+ this.treeAdapter.updateNodeSourceCodeLocation(v, Z);
201
+ }
202
+ }
203
+ shouldProcessStartTagTokenInForeignContent(v) {
204
+ if (!this.currentNotInHTML) return !1;
205
+ let q, J;
206
+ return this.openElements.stackTop === 0 && this.fragmentContext ? (q = this.fragmentContext, J = this.fragmentContextID) : {current: q, currentTagId: J} = this.openElements, v.tagID === TAG_ID.SVG && this.treeAdapter.getTagName(q) === TAG_NAMES.ANNOTATION_XML && this.treeAdapter.getNamespaceURI(q) === NS.MATHML ? !1 : this.tokenizer.inForeignNode || (v.tagID === TAG_ID.MGLYPH || v.tagID === TAG_ID.MALIGNMARK) && J !== void 0 && !this._isIntegrationPoint(J, q, NS.HTML);
207
+ }
208
+ _processToken(v) {
209
+ switch (v.type) {
210
+ case TokenType.CHARACTER:
211
+ this.onCharacter(v);
212
+ break;
213
+ case TokenType.NULL_CHARACTER:
214
+ this.onNullCharacter(v);
215
+ break;
216
+ case TokenType.COMMENT:
217
+ this.onComment(v);
218
+ break;
219
+ case TokenType.DOCTYPE:
220
+ this.onDoctype(v);
221
+ break;
222
+ case TokenType.START_TAG:
223
+ this._processStartTag(v);
224
+ break;
225
+ case TokenType.END_TAG:
226
+ this.onEndTag(v);
227
+ break;
228
+ case TokenType.EOF:
229
+ this.onEof(v);
230
+ break;
231
+ case TokenType.WHITESPACE_CHARACTER:
232
+ this.onWhitespaceCharacter(v);
233
+ break;
234
+ }
235
+ }
236
+ _isIntegrationPoint(v, q, J) {
237
+ return isIntegrationPoint(v, this.treeAdapter.getNamespaceURI(q), this.treeAdapter.getAttrList(q), J);
238
+ }
239
+ _reconstructActiveFormattingElements() {
240
+ let v = this.activeFormattingElements.entries.length;
241
+ if (v) {
242
+ let q = this.activeFormattingElements.entries.findIndex((v) => v.type === EntryType.Marker || this.openElements.contains(v.element)), J = q === -1 ? v - 1 : q - 1;
243
+ for (let v = J; v >= 0; v--) {
244
+ let q = this.activeFormattingElements.entries[v];
245
+ this._insertElement(q.token, this.treeAdapter.getNamespaceURI(q.element)), q.element = this.openElements.current;
246
+ }
247
+ }
248
+ }
249
+ _closeTableCell() {
250
+ this.openElements.generateImpliedEndTags(), this.openElements.popUntilTableCellPopped(), this.activeFormattingElements.clearToLastMarker(), this.insertionMode = InsertionMode.IN_ROW;
251
+ }
252
+ _closePElement() {
253
+ this.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.P), this.openElements.popUntilTagNamePopped(TAG_ID.P);
254
+ }
255
+ _resetInsertionMode() {
256
+ for (let v = this.openElements.stackTop; v >= 0; v--) switch (v === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[v]) {
257
+ case TAG_ID.TR:
258
+ this.insertionMode = InsertionMode.IN_ROW;
259
+ return;
260
+ case TAG_ID.TBODY:
261
+ case TAG_ID.THEAD:
262
+ case TAG_ID.TFOOT:
263
+ this.insertionMode = InsertionMode.IN_TABLE_BODY;
264
+ return;
265
+ case TAG_ID.CAPTION:
266
+ this.insertionMode = InsertionMode.IN_CAPTION;
267
+ return;
268
+ case TAG_ID.COLGROUP:
269
+ this.insertionMode = InsertionMode.IN_COLUMN_GROUP;
270
+ return;
271
+ case TAG_ID.TABLE:
272
+ this.insertionMode = InsertionMode.IN_TABLE;
273
+ return;
274
+ case TAG_ID.BODY:
275
+ this.insertionMode = InsertionMode.IN_BODY;
276
+ return;
277
+ case TAG_ID.FRAMESET:
278
+ this.insertionMode = InsertionMode.IN_FRAMESET;
279
+ return;
280
+ case TAG_ID.SELECT:
281
+ this._resetInsertionModeForSelect(v);
282
+ return;
283
+ case TAG_ID.TEMPLATE:
284
+ this.insertionMode = this.tmplInsertionModeStack[0];
285
+ return;
286
+ case TAG_ID.HTML:
287
+ this.insertionMode = this.headElement ? InsertionMode.AFTER_HEAD : InsertionMode.BEFORE_HEAD;
288
+ return;
289
+ case TAG_ID.TD:
290
+ case TAG_ID.TH:
291
+ if (v > 0) {
292
+ this.insertionMode = InsertionMode.IN_CELL;
293
+ return;
294
+ }
295
+ break;
296
+ case TAG_ID.HEAD:
297
+ if (v > 0) {
298
+ this.insertionMode = InsertionMode.IN_HEAD;
299
+ return;
300
+ }
301
+ break;
302
+ }
303
+ this.insertionMode = InsertionMode.IN_BODY;
304
+ }
305
+ _resetInsertionModeForSelect(v) {
306
+ if (v > 0) for (let q = v - 1; q > 0; q--) {
307
+ let v = this.openElements.tagIDs[q];
308
+ if (v === TAG_ID.TEMPLATE) break;
309
+ if (v === TAG_ID.TABLE) {
310
+ this.insertionMode = InsertionMode.IN_SELECT_IN_TABLE;
311
+ return;
312
+ }
313
+ }
314
+ this.insertionMode = InsertionMode.IN_SELECT;
315
+ }
316
+ _isElementCausesFosterParenting(v) {
317
+ return TABLE_STRUCTURE_TAGS.has(v);
318
+ }
319
+ _shouldFosterParentOnInsertion() {
320
+ return this.fosterParentingEnabled && this.openElements.currentTagId !== void 0 && this._isElementCausesFosterParenting(this.openElements.currentTagId);
321
+ }
322
+ _findFosterParentingLocation() {
323
+ for (let v = this.openElements.stackTop; v >= 0; v--) {
324
+ let q = this.openElements.items[v];
325
+ switch (this.openElements.tagIDs[v]) {
326
+ case TAG_ID.TEMPLATE:
327
+ if (this.treeAdapter.getNamespaceURI(q) === NS.HTML) return {
328
+ parent: this.treeAdapter.getTemplateContent(q),
329
+ beforeElement: null
330
+ };
331
+ break;
332
+ case TAG_ID.TABLE: {
333
+ let J = this.treeAdapter.getParentNode(q);
334
+ return J ? {
335
+ parent: J,
336
+ beforeElement: q
337
+ } : {
338
+ parent: this.openElements.items[v - 1],
339
+ beforeElement: null
340
+ };
341
+ }
342
+ default:
343
+ }
344
+ }
345
+ return {
346
+ parent: this.openElements.items[0],
347
+ beforeElement: null
348
+ };
349
+ }
350
+ _fosterParentElement(v) {
351
+ let q = this._findFosterParentingLocation();
352
+ q.beforeElement ? this.treeAdapter.insertBefore(q.parent, v, q.beforeElement) : this.treeAdapter.appendChild(q.parent, v);
353
+ }
354
+ _isSpecialElement(v, q) {
355
+ return SPECIAL_ELEMENTS[this.treeAdapter.getNamespaceURI(v)].has(q);
356
+ }
357
+ onCharacter(v) {
358
+ if (this.skipNextNewLine = !1, this.tokenizer.inForeignNode) {
359
+ characterInForeignContent(this, v);
360
+ return;
361
+ }
362
+ switch (this.insertionMode) {
363
+ case InsertionMode.INITIAL:
364
+ tokenInInitialMode(this, v);
365
+ break;
366
+ case InsertionMode.BEFORE_HTML:
367
+ tokenBeforeHtml(this, v);
368
+ break;
369
+ case InsertionMode.BEFORE_HEAD:
370
+ tokenBeforeHead(this, v);
371
+ break;
372
+ case InsertionMode.IN_HEAD:
373
+ tokenInHead(this, v);
374
+ break;
375
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
376
+ tokenInHeadNoScript(this, v);
377
+ break;
378
+ case InsertionMode.AFTER_HEAD:
379
+ tokenAfterHead(this, v);
380
+ break;
381
+ case InsertionMode.IN_BODY:
382
+ case InsertionMode.IN_CAPTION:
383
+ case InsertionMode.IN_CELL:
384
+ case InsertionMode.IN_TEMPLATE:
385
+ characterInBody(this, v);
386
+ break;
387
+ case InsertionMode.TEXT:
388
+ case InsertionMode.IN_SELECT:
389
+ case InsertionMode.IN_SELECT_IN_TABLE:
390
+ this._insertCharacters(v);
391
+ break;
392
+ case InsertionMode.IN_TABLE:
393
+ case InsertionMode.IN_TABLE_BODY:
394
+ case InsertionMode.IN_ROW:
395
+ characterInTable(this, v);
396
+ break;
397
+ case InsertionMode.IN_TABLE_TEXT:
398
+ characterInTableText(this, v);
399
+ break;
400
+ case InsertionMode.IN_COLUMN_GROUP:
401
+ tokenInColumnGroup(this, v);
402
+ break;
403
+ case InsertionMode.AFTER_BODY:
404
+ tokenAfterBody(this, v);
405
+ break;
406
+ case InsertionMode.AFTER_AFTER_BODY:
407
+ tokenAfterAfterBody(this, v);
408
+ break;
409
+ default:
410
+ }
411
+ }
412
+ onNullCharacter(v) {
413
+ if (this.skipNextNewLine = !1, this.tokenizer.inForeignNode) {
414
+ nullCharacterInForeignContent(this, v);
415
+ return;
416
+ }
417
+ switch (this.insertionMode) {
418
+ case InsertionMode.INITIAL:
419
+ tokenInInitialMode(this, v);
420
+ break;
421
+ case InsertionMode.BEFORE_HTML:
422
+ tokenBeforeHtml(this, v);
423
+ break;
424
+ case InsertionMode.BEFORE_HEAD:
425
+ tokenBeforeHead(this, v);
426
+ break;
427
+ case InsertionMode.IN_HEAD:
428
+ tokenInHead(this, v);
429
+ break;
430
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
431
+ tokenInHeadNoScript(this, v);
432
+ break;
433
+ case InsertionMode.AFTER_HEAD:
434
+ tokenAfterHead(this, v);
435
+ break;
436
+ case InsertionMode.TEXT:
437
+ this._insertCharacters(v);
438
+ break;
439
+ case InsertionMode.IN_TABLE:
440
+ case InsertionMode.IN_TABLE_BODY:
441
+ case InsertionMode.IN_ROW:
442
+ characterInTable(this, v);
443
+ break;
444
+ case InsertionMode.IN_COLUMN_GROUP:
445
+ tokenInColumnGroup(this, v);
446
+ break;
447
+ case InsertionMode.AFTER_BODY:
448
+ tokenAfterBody(this, v);
449
+ break;
450
+ case InsertionMode.AFTER_AFTER_BODY:
451
+ tokenAfterAfterBody(this, v);
452
+ break;
453
+ default:
454
+ }
455
+ }
456
+ onComment(v) {
457
+ if (this.skipNextNewLine = !1, this.currentNotInHTML) {
458
+ appendComment(this, v);
459
+ return;
460
+ }
461
+ switch (this.insertionMode) {
462
+ case InsertionMode.INITIAL:
463
+ case InsertionMode.BEFORE_HTML:
464
+ case InsertionMode.BEFORE_HEAD:
465
+ case InsertionMode.IN_HEAD:
466
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
467
+ case InsertionMode.AFTER_HEAD:
468
+ case InsertionMode.IN_BODY:
469
+ case InsertionMode.IN_TABLE:
470
+ case InsertionMode.IN_CAPTION:
471
+ case InsertionMode.IN_COLUMN_GROUP:
472
+ case InsertionMode.IN_TABLE_BODY:
473
+ case InsertionMode.IN_ROW:
474
+ case InsertionMode.IN_CELL:
475
+ case InsertionMode.IN_SELECT:
476
+ case InsertionMode.IN_SELECT_IN_TABLE:
477
+ case InsertionMode.IN_TEMPLATE:
478
+ case InsertionMode.IN_FRAMESET:
479
+ case InsertionMode.AFTER_FRAMESET:
480
+ appendComment(this, v);
481
+ break;
482
+ case InsertionMode.IN_TABLE_TEXT:
483
+ tokenInTableText(this, v);
484
+ break;
485
+ case InsertionMode.AFTER_BODY:
486
+ appendCommentToRootHtmlElement(this, v);
487
+ break;
488
+ case InsertionMode.AFTER_AFTER_BODY:
489
+ case InsertionMode.AFTER_AFTER_FRAMESET:
490
+ appendCommentToDocument(this, v);
491
+ break;
492
+ default:
493
+ }
494
+ }
495
+ onDoctype(v) {
496
+ switch (this.skipNextNewLine = !1, this.insertionMode) {
497
+ case InsertionMode.INITIAL:
498
+ doctypeInInitialMode(this, v);
499
+ break;
500
+ case InsertionMode.BEFORE_HEAD:
501
+ case InsertionMode.IN_HEAD:
502
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
503
+ case InsertionMode.AFTER_HEAD:
504
+ this._err(v, ERR.misplacedDoctype);
505
+ break;
506
+ case InsertionMode.IN_TABLE_TEXT:
507
+ tokenInTableText(this, v);
508
+ break;
509
+ default:
510
+ }
511
+ }
512
+ onStartTag(v) {
513
+ this.skipNextNewLine = !1, this.currentToken = v, this._processStartTag(v), v.selfClosing && !v.ackSelfClosing && this._err(v, ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);
514
+ }
515
+ _processStartTag(v) {
516
+ this.shouldProcessStartTagTokenInForeignContent(v) ? startTagInForeignContent(this, v) : this._startTagOutsideForeignContent(v);
517
+ }
518
+ _startTagOutsideForeignContent(v) {
519
+ switch (this.insertionMode) {
520
+ case InsertionMode.INITIAL:
521
+ tokenInInitialMode(this, v);
522
+ break;
523
+ case InsertionMode.BEFORE_HTML:
524
+ startTagBeforeHtml(this, v);
525
+ break;
526
+ case InsertionMode.BEFORE_HEAD:
527
+ startTagBeforeHead(this, v);
528
+ break;
529
+ case InsertionMode.IN_HEAD:
530
+ startTagInHead(this, v);
531
+ break;
532
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
533
+ startTagInHeadNoScript(this, v);
534
+ break;
535
+ case InsertionMode.AFTER_HEAD:
536
+ startTagAfterHead(this, v);
537
+ break;
538
+ case InsertionMode.IN_BODY:
539
+ startTagInBody(this, v);
540
+ break;
541
+ case InsertionMode.IN_TABLE:
542
+ startTagInTable(this, v);
543
+ break;
544
+ case InsertionMode.IN_TABLE_TEXT:
545
+ tokenInTableText(this, v);
546
+ break;
547
+ case InsertionMode.IN_CAPTION:
548
+ startTagInCaption(this, v);
549
+ break;
550
+ case InsertionMode.IN_COLUMN_GROUP:
551
+ startTagInColumnGroup(this, v);
552
+ break;
553
+ case InsertionMode.IN_TABLE_BODY:
554
+ startTagInTableBody(this, v);
555
+ break;
556
+ case InsertionMode.IN_ROW:
557
+ startTagInRow(this, v);
558
+ break;
559
+ case InsertionMode.IN_CELL:
560
+ startTagInCell(this, v);
561
+ break;
562
+ case InsertionMode.IN_SELECT:
563
+ startTagInSelect(this, v);
564
+ break;
565
+ case InsertionMode.IN_SELECT_IN_TABLE:
566
+ startTagInSelectInTable(this, v);
567
+ break;
568
+ case InsertionMode.IN_TEMPLATE:
569
+ startTagInTemplate(this, v);
570
+ break;
571
+ case InsertionMode.AFTER_BODY:
572
+ startTagAfterBody(this, v);
573
+ break;
574
+ case InsertionMode.IN_FRAMESET:
575
+ startTagInFrameset(this, v);
576
+ break;
577
+ case InsertionMode.AFTER_FRAMESET:
578
+ startTagAfterFrameset(this, v);
579
+ break;
580
+ case InsertionMode.AFTER_AFTER_BODY:
581
+ startTagAfterAfterBody(this, v);
582
+ break;
583
+ case InsertionMode.AFTER_AFTER_FRAMESET:
584
+ startTagAfterAfterFrameset(this, v);
585
+ break;
586
+ default:
587
+ }
588
+ }
589
+ onEndTag(v) {
590
+ this.skipNextNewLine = !1, this.currentToken = v, this.currentNotInHTML ? endTagInForeignContent(this, v) : this._endTagOutsideForeignContent(v);
591
+ }
592
+ _endTagOutsideForeignContent(v) {
593
+ switch (this.insertionMode) {
594
+ case InsertionMode.INITIAL:
595
+ tokenInInitialMode(this, v);
596
+ break;
597
+ case InsertionMode.BEFORE_HTML:
598
+ endTagBeforeHtml(this, v);
599
+ break;
600
+ case InsertionMode.BEFORE_HEAD:
601
+ endTagBeforeHead(this, v);
602
+ break;
603
+ case InsertionMode.IN_HEAD:
604
+ endTagInHead(this, v);
605
+ break;
606
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
607
+ endTagInHeadNoScript(this, v);
608
+ break;
609
+ case InsertionMode.AFTER_HEAD:
610
+ endTagAfterHead(this, v);
611
+ break;
612
+ case InsertionMode.IN_BODY:
613
+ endTagInBody(this, v);
614
+ break;
615
+ case InsertionMode.TEXT:
616
+ endTagInText(this, v);
617
+ break;
618
+ case InsertionMode.IN_TABLE:
619
+ endTagInTable(this, v);
620
+ break;
621
+ case InsertionMode.IN_TABLE_TEXT:
622
+ tokenInTableText(this, v);
623
+ break;
624
+ case InsertionMode.IN_CAPTION:
625
+ endTagInCaption(this, v);
626
+ break;
627
+ case InsertionMode.IN_COLUMN_GROUP:
628
+ endTagInColumnGroup(this, v);
629
+ break;
630
+ case InsertionMode.IN_TABLE_BODY:
631
+ endTagInTableBody(this, v);
632
+ break;
633
+ case InsertionMode.IN_ROW:
634
+ endTagInRow(this, v);
635
+ break;
636
+ case InsertionMode.IN_CELL:
637
+ endTagInCell(this, v);
638
+ break;
639
+ case InsertionMode.IN_SELECT:
640
+ endTagInSelect(this, v);
641
+ break;
642
+ case InsertionMode.IN_SELECT_IN_TABLE:
643
+ endTagInSelectInTable(this, v);
644
+ break;
645
+ case InsertionMode.IN_TEMPLATE:
646
+ endTagInTemplate(this, v);
647
+ break;
648
+ case InsertionMode.AFTER_BODY:
649
+ endTagAfterBody(this, v);
650
+ break;
651
+ case InsertionMode.IN_FRAMESET:
652
+ endTagInFrameset(this, v);
653
+ break;
654
+ case InsertionMode.AFTER_FRAMESET:
655
+ endTagAfterFrameset(this, v);
656
+ break;
657
+ case InsertionMode.AFTER_AFTER_BODY:
658
+ tokenAfterAfterBody(this, v);
659
+ break;
660
+ default:
661
+ }
662
+ }
663
+ onEof(v) {
664
+ switch (this.insertionMode) {
665
+ case InsertionMode.INITIAL:
666
+ tokenInInitialMode(this, v);
667
+ break;
668
+ case InsertionMode.BEFORE_HTML:
669
+ tokenBeforeHtml(this, v);
670
+ break;
671
+ case InsertionMode.BEFORE_HEAD:
672
+ tokenBeforeHead(this, v);
673
+ break;
674
+ case InsertionMode.IN_HEAD:
675
+ tokenInHead(this, v);
676
+ break;
677
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
678
+ tokenInHeadNoScript(this, v);
679
+ break;
680
+ case InsertionMode.AFTER_HEAD:
681
+ tokenAfterHead(this, v);
682
+ break;
683
+ case InsertionMode.IN_BODY:
684
+ case InsertionMode.IN_TABLE:
685
+ case InsertionMode.IN_CAPTION:
686
+ case InsertionMode.IN_COLUMN_GROUP:
687
+ case InsertionMode.IN_TABLE_BODY:
688
+ case InsertionMode.IN_ROW:
689
+ case InsertionMode.IN_CELL:
690
+ case InsertionMode.IN_SELECT:
691
+ case InsertionMode.IN_SELECT_IN_TABLE:
692
+ eofInBody(this, v);
693
+ break;
694
+ case InsertionMode.TEXT:
695
+ eofInText(this, v);
696
+ break;
697
+ case InsertionMode.IN_TABLE_TEXT:
698
+ tokenInTableText(this, v);
699
+ break;
700
+ case InsertionMode.IN_TEMPLATE:
701
+ eofInTemplate(this, v);
702
+ break;
703
+ case InsertionMode.AFTER_BODY:
704
+ case InsertionMode.IN_FRAMESET:
705
+ case InsertionMode.AFTER_FRAMESET:
706
+ case InsertionMode.AFTER_AFTER_BODY:
707
+ case InsertionMode.AFTER_AFTER_FRAMESET:
708
+ stopParsing(this, v);
709
+ break;
710
+ default:
711
+ }
712
+ }
713
+ onWhitespaceCharacter(q) {
714
+ if (this.skipNextNewLine && (this.skipNextNewLine = !1, q.chars.charCodeAt(0) === CODE_POINTS.LINE_FEED)) {
715
+ if (q.chars.length === 1) return;
716
+ q.chars = q.chars.substr(1);
717
+ }
718
+ if (this.tokenizer.inForeignNode) {
719
+ this._insertCharacters(q);
720
+ return;
721
+ }
722
+ switch (this.insertionMode) {
723
+ case InsertionMode.IN_HEAD:
724
+ case InsertionMode.IN_HEAD_NO_SCRIPT:
725
+ case InsertionMode.AFTER_HEAD:
726
+ case InsertionMode.TEXT:
727
+ case InsertionMode.IN_COLUMN_GROUP:
728
+ case InsertionMode.IN_SELECT:
729
+ case InsertionMode.IN_SELECT_IN_TABLE:
730
+ case InsertionMode.IN_FRAMESET:
731
+ case InsertionMode.AFTER_FRAMESET:
732
+ this._insertCharacters(q);
733
+ break;
734
+ case InsertionMode.IN_BODY:
735
+ case InsertionMode.IN_CAPTION:
736
+ case InsertionMode.IN_CELL:
737
+ case InsertionMode.IN_TEMPLATE:
738
+ case InsertionMode.AFTER_BODY:
739
+ case InsertionMode.AFTER_AFTER_BODY:
740
+ case InsertionMode.AFTER_AFTER_FRAMESET:
741
+ whitespaceCharacterInBody(this, q);
742
+ break;
743
+ case InsertionMode.IN_TABLE:
744
+ case InsertionMode.IN_TABLE_BODY:
745
+ case InsertionMode.IN_ROW:
746
+ characterInTable(this, q);
747
+ break;
748
+ case InsertionMode.IN_TABLE_TEXT:
749
+ whitespaceCharacterInTableText(this, q);
750
+ break;
751
+ default:
752
+ }
753
+ }
754
+ };
755
+ function aaObtainFormattingElementEntry(v, q) {
756
+ let J = v.activeFormattingElements.getElementEntryInScopeWithTagName(q.tagName);
757
+ return J ? v.openElements.contains(J.element) ? v.openElements.hasInScope(q.tagID) || (J = null) : (v.activeFormattingElements.removeEntry(J), J = null) : genericEndTagInBody(v, q), J;
758
+ }
759
+ function aaObtainFurthestBlock(v, q) {
760
+ let J = null, Y = v.openElements.stackTop;
761
+ for (; Y >= 0; Y--) {
762
+ let X = v.openElements.items[Y];
763
+ if (X === q.element) break;
764
+ v._isSpecialElement(X, v.openElements.tagIDs[Y]) && (J = X);
765
+ }
766
+ return J || (v.openElements.shortenToLength(Math.max(Y, 0)), v.activeFormattingElements.removeEntry(q)), J;
767
+ }
768
+ function aaInnerLoop(v, q, J) {
769
+ let Y = q, X = v.openElements.getCommonAncestor(q);
770
+ for (let Z = 0, Q = X; Q !== J; Z++, Q = X) {
771
+ X = v.openElements.getCommonAncestor(Q);
772
+ let J = v.activeFormattingElements.getElementEntry(Q), $ = J && Z >= AA_INNER_LOOP_ITER;
773
+ !J || $ ? ($ && v.activeFormattingElements.removeEntry(J), v.openElements.remove(Q)) : (Q = aaRecreateElementFromEntry(v, J), Y === q && (v.activeFormattingElements.bookmark = J), v.treeAdapter.detachNode(Y), v.treeAdapter.appendChild(Q, Y), Y = Q);
774
+ }
775
+ return Y;
776
+ }
777
+ function aaRecreateElementFromEntry(v, q) {
778
+ let J = v.treeAdapter.getNamespaceURI(q.element), Y = v.treeAdapter.createElement(q.token.tagName, J, q.token.attrs);
779
+ return v.openElements.replace(q.element, Y), q.element = Y, Y;
780
+ }
781
+ function aaInsertLastNodeInCommonAncestor(v, q, J) {
782
+ let Y = getTagID(v.treeAdapter.getTagName(q));
783
+ if (v._isElementCausesFosterParenting(Y)) v._fosterParentElement(J);
784
+ else {
785
+ let X = v.treeAdapter.getNamespaceURI(q);
786
+ Y === TAG_ID.TEMPLATE && X === NS.HTML && (q = v.treeAdapter.getTemplateContent(q)), v.treeAdapter.appendChild(q, J);
787
+ }
788
+ }
789
+ function aaReplaceFormattingElement(v, q, J) {
790
+ let Y = v.treeAdapter.getNamespaceURI(J.element), { token: X } = J, Z = v.treeAdapter.createElement(X.tagName, Y, X.attrs);
791
+ v._adoptNodes(q, Z), v.treeAdapter.appendChild(q, Z), v.activeFormattingElements.insertElementAfterBookmark(Z, X), v.activeFormattingElements.removeEntry(J), v.openElements.remove(J.element), v.openElements.insertAfter(q, Z, X.tagID);
792
+ }
793
+ function callAdoptionAgency(v, q) {
794
+ for (let J = 0; J < AA_OUTER_LOOP_ITER; J++) {
795
+ let J = aaObtainFormattingElementEntry(v, q);
796
+ if (!J) break;
797
+ let Y = aaObtainFurthestBlock(v, J);
798
+ if (!Y) break;
799
+ v.activeFormattingElements.bookmark = J;
800
+ let X = aaInnerLoop(v, Y, J.element), Z = v.openElements.getCommonAncestor(J.element);
801
+ v.treeAdapter.detachNode(X), Z && aaInsertLastNodeInCommonAncestor(v, Z, X), aaReplaceFormattingElement(v, Y, J);
802
+ }
803
+ }
804
+ function appendComment(v, q) {
805
+ v._appendCommentNode(q, v.openElements.currentTmplContentOrNode);
806
+ }
807
+ function appendCommentToRootHtmlElement(v, q) {
808
+ v._appendCommentNode(q, v.openElements.items[0]);
809
+ }
810
+ function appendCommentToDocument(v, q) {
811
+ v._appendCommentNode(q, v.document);
812
+ }
813
+ function stopParsing(v, q) {
814
+ if (v.stopped = !0, q.location) {
815
+ let J = v.fragmentContext ? 0 : 2;
816
+ for (let Y = v.openElements.stackTop; Y >= J; Y--) v._setEndLocation(v.openElements.items[Y], q);
817
+ if (!v.fragmentContext && v.openElements.stackTop >= 0) {
818
+ let J = v.openElements.items[0], Y = v.treeAdapter.getNodeSourceCodeLocation(J);
819
+ if (Y && !Y.endTag && (v._setEndLocation(J, q), v.openElements.stackTop >= 1)) {
820
+ let J = v.openElements.items[1], Y = v.treeAdapter.getNodeSourceCodeLocation(J);
821
+ Y && !Y.endTag && v._setEndLocation(J, q);
822
+ }
823
+ }
824
+ }
825
+ }
826
+ function doctypeInInitialMode(v, q) {
827
+ v._setDocumentType(q);
828
+ let Y = q.forceQuirks ? DOCUMENT_MODE.QUIRKS : getDocumentMode(q);
829
+ isConforming(q) || v._err(q, ERR.nonConformingDoctype), v.treeAdapter.setDocumentMode(v.document, Y), v.insertionMode = InsertionMode.BEFORE_HTML;
830
+ }
831
+ function tokenInInitialMode(v, q) {
832
+ v._err(q, ERR.missingDoctype, !0), v.treeAdapter.setDocumentMode(v.document, DOCUMENT_MODE.QUIRKS), v.insertionMode = InsertionMode.BEFORE_HTML, v._processToken(q);
833
+ }
834
+ function startTagBeforeHtml(v, q) {
835
+ q.tagID === TAG_ID.HTML ? (v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.BEFORE_HEAD) : tokenBeforeHtml(v, q);
836
+ }
837
+ function endTagBeforeHtml(v, q) {
838
+ let J = q.tagID;
839
+ (J === TAG_ID.HTML || J === TAG_ID.HEAD || J === TAG_ID.BODY || J === TAG_ID.BR) && tokenBeforeHtml(v, q);
840
+ }
841
+ function tokenBeforeHtml(v, q) {
842
+ v._insertFakeRootElement(), v.insertionMode = InsertionMode.BEFORE_HEAD, v._processToken(q);
843
+ }
844
+ function startTagBeforeHead(v, q) {
845
+ switch (q.tagID) {
846
+ case TAG_ID.HTML:
847
+ startTagInBody(v, q);
848
+ break;
849
+ case TAG_ID.HEAD:
850
+ v._insertElement(q, NS.HTML), v.headElement = v.openElements.current, v.insertionMode = InsertionMode.IN_HEAD;
851
+ break;
852
+ default: tokenBeforeHead(v, q);
853
+ }
854
+ }
855
+ function endTagBeforeHead(v, q) {
856
+ let Y = q.tagID;
857
+ Y === TAG_ID.HEAD || Y === TAG_ID.BODY || Y === TAG_ID.HTML || Y === TAG_ID.BR ? tokenBeforeHead(v, q) : v._err(q, ERR.endTagWithoutMatchingOpenElement);
858
+ }
859
+ function tokenBeforeHead(v, q) {
860
+ v._insertFakeElement(TAG_NAMES.HEAD, TAG_ID.HEAD), v.headElement = v.openElements.current, v.insertionMode = InsertionMode.IN_HEAD, v._processToken(q);
861
+ }
862
+ function startTagInHead(v, q) {
863
+ switch (q.tagID) {
864
+ case TAG_ID.HTML:
865
+ startTagInBody(v, q);
866
+ break;
867
+ case TAG_ID.BASE:
868
+ case TAG_ID.BASEFONT:
869
+ case TAG_ID.BGSOUND:
870
+ case TAG_ID.LINK:
871
+ case TAG_ID.META:
872
+ v._appendElement(q, NS.HTML), q.ackSelfClosing = !0;
873
+ break;
874
+ case TAG_ID.TITLE:
875
+ v._switchToTextParsing(q, TokenizerMode.RCDATA);
876
+ break;
877
+ case TAG_ID.NOSCRIPT:
878
+ v.options.scriptingEnabled ? v._switchToTextParsing(q, TokenizerMode.RAWTEXT) : (v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_HEAD_NO_SCRIPT);
879
+ break;
880
+ case TAG_ID.NOFRAMES:
881
+ case TAG_ID.STYLE:
882
+ v._switchToTextParsing(q, TokenizerMode.RAWTEXT);
883
+ break;
884
+ case TAG_ID.SCRIPT:
885
+ v._switchToTextParsing(q, TokenizerMode.SCRIPT_DATA);
886
+ break;
887
+ case TAG_ID.TEMPLATE:
888
+ v._insertTemplate(q), v.activeFormattingElements.insertMarker(), v.framesetOk = !1, v.insertionMode = InsertionMode.IN_TEMPLATE, v.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);
889
+ break;
890
+ case TAG_ID.HEAD:
891
+ v._err(q, ERR.misplacedStartTagForHeadElement);
892
+ break;
893
+ default: tokenInHead(v, q);
894
+ }
895
+ }
896
+ function endTagInHead(v, q) {
897
+ switch (q.tagID) {
898
+ case TAG_ID.HEAD:
899
+ v.openElements.pop(), v.insertionMode = InsertionMode.AFTER_HEAD;
900
+ break;
901
+ case TAG_ID.BODY:
902
+ case TAG_ID.BR:
903
+ case TAG_ID.HTML:
904
+ tokenInHead(v, q);
905
+ break;
906
+ case TAG_ID.TEMPLATE:
907
+ templateEndTagInHead(v, q);
908
+ break;
909
+ default: v._err(q, ERR.endTagWithoutMatchingOpenElement);
910
+ }
911
+ }
912
+ function templateEndTagInHead(v, q) {
913
+ v.openElements.tmplCount > 0 ? (v.openElements.generateImpliedEndTagsThoroughly(), v.openElements.currentTagId !== TAG_ID.TEMPLATE && v._err(q, ERR.closingOfElementWithOpenChildElements), v.openElements.popUntilTagNamePopped(TAG_ID.TEMPLATE), v.activeFormattingElements.clearToLastMarker(), v.tmplInsertionModeStack.shift(), v._resetInsertionMode()) : v._err(q, ERR.endTagWithoutMatchingOpenElement);
914
+ }
915
+ function tokenInHead(v, q) {
916
+ v.openElements.pop(), v.insertionMode = InsertionMode.AFTER_HEAD, v._processToken(q);
917
+ }
918
+ function startTagInHeadNoScript(v, q) {
919
+ switch (q.tagID) {
920
+ case TAG_ID.HTML:
921
+ startTagInBody(v, q);
922
+ break;
923
+ case TAG_ID.BASEFONT:
924
+ case TAG_ID.BGSOUND:
925
+ case TAG_ID.HEAD:
926
+ case TAG_ID.LINK:
927
+ case TAG_ID.META:
928
+ case TAG_ID.NOFRAMES:
929
+ case TAG_ID.STYLE:
930
+ startTagInHead(v, q);
931
+ break;
932
+ case TAG_ID.NOSCRIPT:
933
+ v._err(q, ERR.nestedNoscriptInHead);
934
+ break;
935
+ default: tokenInHeadNoScript(v, q);
936
+ }
937
+ }
938
+ function endTagInHeadNoScript(v, q) {
939
+ switch (q.tagID) {
940
+ case TAG_ID.NOSCRIPT:
941
+ v.openElements.pop(), v.insertionMode = InsertionMode.IN_HEAD;
942
+ break;
943
+ case TAG_ID.BR:
944
+ tokenInHeadNoScript(v, q);
945
+ break;
946
+ default: v._err(q, ERR.endTagWithoutMatchingOpenElement);
947
+ }
948
+ }
949
+ function tokenInHeadNoScript(v, q) {
950
+ let X = q.type === TokenType.EOF ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;
951
+ v._err(q, X), v.openElements.pop(), v.insertionMode = InsertionMode.IN_HEAD, v._processToken(q);
952
+ }
953
+ function startTagAfterHead(v, q) {
954
+ switch (q.tagID) {
955
+ case TAG_ID.HTML:
956
+ startTagInBody(v, q);
957
+ break;
958
+ case TAG_ID.BODY:
959
+ v._insertElement(q, NS.HTML), v.framesetOk = !1, v.insertionMode = InsertionMode.IN_BODY;
960
+ break;
961
+ case TAG_ID.FRAMESET:
962
+ v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_FRAMESET;
963
+ break;
964
+ case TAG_ID.BASE:
965
+ case TAG_ID.BASEFONT:
966
+ case TAG_ID.BGSOUND:
967
+ case TAG_ID.LINK:
968
+ case TAG_ID.META:
969
+ case TAG_ID.NOFRAMES:
970
+ case TAG_ID.SCRIPT:
971
+ case TAG_ID.STYLE:
972
+ case TAG_ID.TEMPLATE:
973
+ case TAG_ID.TITLE:
974
+ v._err(q, ERR.abandonedHeadElementChild), v.openElements.push(v.headElement, TAG_ID.HEAD), startTagInHead(v, q), v.openElements.remove(v.headElement);
975
+ break;
976
+ case TAG_ID.HEAD:
977
+ v._err(q, ERR.misplacedStartTagForHeadElement);
978
+ break;
979
+ default: tokenAfterHead(v, q);
980
+ }
981
+ }
982
+ function endTagAfterHead(v, q) {
983
+ switch (q.tagID) {
984
+ case TAG_ID.BODY:
985
+ case TAG_ID.HTML:
986
+ case TAG_ID.BR:
987
+ tokenAfterHead(v, q);
988
+ break;
989
+ case TAG_ID.TEMPLATE:
990
+ templateEndTagInHead(v, q);
991
+ break;
992
+ default: v._err(q, ERR.endTagWithoutMatchingOpenElement);
993
+ }
994
+ }
995
+ function tokenAfterHead(v, q) {
996
+ v._insertFakeElement(TAG_NAMES.BODY, TAG_ID.BODY), v.insertionMode = InsertionMode.IN_BODY, modeInBody(v, q);
997
+ }
998
+ function modeInBody(v, q) {
999
+ switch (q.type) {
1000
+ case TokenType.CHARACTER:
1001
+ characterInBody(v, q);
1002
+ break;
1003
+ case TokenType.WHITESPACE_CHARACTER:
1004
+ whitespaceCharacterInBody(v, q);
1005
+ break;
1006
+ case TokenType.COMMENT:
1007
+ appendComment(v, q);
1008
+ break;
1009
+ case TokenType.START_TAG:
1010
+ startTagInBody(v, q);
1011
+ break;
1012
+ case TokenType.END_TAG:
1013
+ endTagInBody(v, q);
1014
+ break;
1015
+ case TokenType.EOF:
1016
+ eofInBody(v, q);
1017
+ break;
1018
+ default:
1019
+ }
1020
+ }
1021
+ function whitespaceCharacterInBody(v, q) {
1022
+ v._reconstructActiveFormattingElements(), v._insertCharacters(q);
1023
+ }
1024
+ function characterInBody(v, q) {
1025
+ v._reconstructActiveFormattingElements(), v._insertCharacters(q), v.framesetOk = !1;
1026
+ }
1027
+ function htmlStartTagInBody(v, q) {
1028
+ v.openElements.tmplCount === 0 && v.treeAdapter.adoptAttributes(v.openElements.items[0], q.attrs);
1029
+ }
1030
+ function bodyStartTagInBody(v, q) {
1031
+ let J = v.openElements.tryPeekProperlyNestedBodyElement();
1032
+ J && v.openElements.tmplCount === 0 && (v.framesetOk = !1, v.treeAdapter.adoptAttributes(J, q.attrs));
1033
+ }
1034
+ function framesetStartTagInBody(v, q) {
1035
+ let J = v.openElements.tryPeekProperlyNestedBodyElement();
1036
+ v.framesetOk && J && (v.treeAdapter.detachNode(J), v.openElements.popAllUpToHtmlElement(), v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_FRAMESET);
1037
+ }
1038
+ function addressStartTagInBody(v, q) {
1039
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._insertElement(q, NS.HTML);
1040
+ }
1041
+ function numberedHeaderStartTagInBody(v, q) {
1042
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v.openElements.currentTagId !== void 0 && NUMBERED_HEADERS.has(v.openElements.currentTagId) && v.openElements.pop(), v._insertElement(q, NS.HTML);
1043
+ }
1044
+ function preStartTagInBody(v, q) {
1045
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._insertElement(q, NS.HTML), v.skipNextNewLine = !0, v.framesetOk = !1;
1046
+ }
1047
+ function formStartTagInBody(v, q) {
1048
+ let J = v.openElements.tmplCount > 0;
1049
+ (!v.formElement || J) && (v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._insertElement(q, NS.HTML), J || (v.formElement = v.openElements.current));
1050
+ }
1051
+ function listItemStartTagInBody(v, q) {
1052
+ v.framesetOk = !1;
1053
+ let J = q.tagID;
1054
+ for (let q = v.openElements.stackTop; q >= 0; q--) {
1055
+ let Y = v.openElements.tagIDs[q];
1056
+ if (J === TAG_ID.LI && Y === TAG_ID.LI || (J === TAG_ID.DD || J === TAG_ID.DT) && (Y === TAG_ID.DD || Y === TAG_ID.DT)) {
1057
+ v.openElements.generateImpliedEndTagsWithExclusion(Y), v.openElements.popUntilTagNamePopped(Y);
1058
+ break;
1059
+ }
1060
+ if (Y !== TAG_ID.ADDRESS && Y !== TAG_ID.DIV && Y !== TAG_ID.P && v._isSpecialElement(v.openElements.items[q], Y)) break;
1061
+ }
1062
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._insertElement(q, NS.HTML);
1063
+ }
1064
+ function plaintextStartTagInBody(v, q) {
1065
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._insertElement(q, NS.HTML), v.tokenizer.state = TokenizerMode.PLAINTEXT;
1066
+ }
1067
+ function buttonStartTagInBody(v, q) {
1068
+ v.openElements.hasInScope(TAG_ID.BUTTON) && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilTagNamePopped(TAG_ID.BUTTON)), v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML), v.framesetOk = !1;
1069
+ }
1070
+ function aStartTagInBody(v, q) {
1071
+ let J = v.activeFormattingElements.getElementEntryInScopeWithTagName(TAG_NAMES.A);
1072
+ J && (callAdoptionAgency(v, q), v.openElements.remove(J.element), v.activeFormattingElements.removeEntry(J)), v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML), v.activeFormattingElements.pushElement(v.openElements.current, q);
1073
+ }
1074
+ function bStartTagInBody(v, q) {
1075
+ v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML), v.activeFormattingElements.pushElement(v.openElements.current, q);
1076
+ }
1077
+ function nobrStartTagInBody(v, q) {
1078
+ v._reconstructActiveFormattingElements(), v.openElements.hasInScope(TAG_ID.NOBR) && (callAdoptionAgency(v, q), v._reconstructActiveFormattingElements()), v._insertElement(q, NS.HTML), v.activeFormattingElements.pushElement(v.openElements.current, q);
1079
+ }
1080
+ function appletStartTagInBody(v, q) {
1081
+ v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML), v.activeFormattingElements.insertMarker(), v.framesetOk = !1;
1082
+ }
1083
+ function tableStartTagInBody(v, q) {
1084
+ v.treeAdapter.getDocumentMode(v.document) !== DOCUMENT_MODE.QUIRKS && v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._insertElement(q, NS.HTML), v.framesetOk = !1, v.insertionMode = InsertionMode.IN_TABLE;
1085
+ }
1086
+ function areaStartTagInBody(v, q) {
1087
+ v._reconstructActiveFormattingElements(), v._appendElement(q, NS.HTML), v.framesetOk = !1, q.ackSelfClosing = !0;
1088
+ }
1089
+ function isHiddenInput(v) {
1090
+ let q = getTokenAttr(v, ATTRS.TYPE);
1091
+ return q != null && q.toLowerCase() === HIDDEN_INPUT_TYPE;
1092
+ }
1093
+ function inputStartTagInBody(v, q) {
1094
+ v._reconstructActiveFormattingElements(), v._appendElement(q, NS.HTML), isHiddenInput(q) || (v.framesetOk = !1), q.ackSelfClosing = !0;
1095
+ }
1096
+ function paramStartTagInBody(v, q) {
1097
+ v._appendElement(q, NS.HTML), q.ackSelfClosing = !0;
1098
+ }
1099
+ function hrStartTagInBody(v, q) {
1100
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._appendElement(q, NS.HTML), v.framesetOk = !1, q.ackSelfClosing = !0;
1101
+ }
1102
+ function imageStartTagInBody(v, q) {
1103
+ q.tagName = TAG_NAMES.IMG, q.tagID = TAG_ID.IMG, areaStartTagInBody(v, q);
1104
+ }
1105
+ function textareaStartTagInBody(v, q) {
1106
+ v._insertElement(q, NS.HTML), v.skipNextNewLine = !0, v.tokenizer.state = TokenizerMode.RCDATA, v.originalInsertionMode = v.insertionMode, v.framesetOk = !1, v.insertionMode = InsertionMode.TEXT;
1107
+ }
1108
+ function xmpStartTagInBody(v, q) {
1109
+ v.openElements.hasInButtonScope(TAG_ID.P) && v._closePElement(), v._reconstructActiveFormattingElements(), v.framesetOk = !1, v._switchToTextParsing(q, TokenizerMode.RAWTEXT);
1110
+ }
1111
+ function iframeStartTagInBody(v, q) {
1112
+ v.framesetOk = !1, v._switchToTextParsing(q, TokenizerMode.RAWTEXT);
1113
+ }
1114
+ function rawTextStartTagInBody(v, q) {
1115
+ v._switchToTextParsing(q, TokenizerMode.RAWTEXT);
1116
+ }
1117
+ function selectStartTagInBody(v, q) {
1118
+ v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML), v.framesetOk = !1, v.insertionMode = v.insertionMode === InsertionMode.IN_TABLE || v.insertionMode === InsertionMode.IN_CAPTION || v.insertionMode === InsertionMode.IN_TABLE_BODY || v.insertionMode === InsertionMode.IN_ROW || v.insertionMode === InsertionMode.IN_CELL ? InsertionMode.IN_SELECT_IN_TABLE : InsertionMode.IN_SELECT;
1119
+ }
1120
+ function optgroupStartTagInBody(v, q) {
1121
+ v.openElements.currentTagId === TAG_ID.OPTION && v.openElements.pop(), v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML);
1122
+ }
1123
+ function rbStartTagInBody(v, q) {
1124
+ v.openElements.hasInScope(TAG_ID.RUBY) && v.openElements.generateImpliedEndTags(), v._insertElement(q, NS.HTML);
1125
+ }
1126
+ function rtStartTagInBody(v, q) {
1127
+ v.openElements.hasInScope(TAG_ID.RUBY) && v.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.RTC), v._insertElement(q, NS.HTML);
1128
+ }
1129
+ function mathStartTagInBody(v, q) {
1130
+ v._reconstructActiveFormattingElements(), adjustTokenMathMLAttrs(q), adjustTokenXMLAttrs(q), q.selfClosing ? v._appendElement(q, NS.MATHML) : v._insertElement(q, NS.MATHML), q.ackSelfClosing = !0;
1131
+ }
1132
+ function svgStartTagInBody(v, q) {
1133
+ v._reconstructActiveFormattingElements(), adjustTokenSVGAttrs(q), adjustTokenXMLAttrs(q), q.selfClosing ? v._appendElement(q, NS.SVG) : v._insertElement(q, NS.SVG), q.ackSelfClosing = !0;
1134
+ }
1135
+ function genericStartTagInBody(v, q) {
1136
+ v._reconstructActiveFormattingElements(), v._insertElement(q, NS.HTML);
1137
+ }
1138
+ function startTagInBody(v, q) {
1139
+ switch (q.tagID) {
1140
+ case TAG_ID.I:
1141
+ case TAG_ID.S:
1142
+ case TAG_ID.B:
1143
+ case TAG_ID.U:
1144
+ case TAG_ID.EM:
1145
+ case TAG_ID.TT:
1146
+ case TAG_ID.BIG:
1147
+ case TAG_ID.CODE:
1148
+ case TAG_ID.FONT:
1149
+ case TAG_ID.SMALL:
1150
+ case TAG_ID.STRIKE:
1151
+ case TAG_ID.STRONG:
1152
+ bStartTagInBody(v, q);
1153
+ break;
1154
+ case TAG_ID.A:
1155
+ aStartTagInBody(v, q);
1156
+ break;
1157
+ case TAG_ID.H1:
1158
+ case TAG_ID.H2:
1159
+ case TAG_ID.H3:
1160
+ case TAG_ID.H4:
1161
+ case TAG_ID.H5:
1162
+ case TAG_ID.H6:
1163
+ numberedHeaderStartTagInBody(v, q);
1164
+ break;
1165
+ case TAG_ID.P:
1166
+ case TAG_ID.DL:
1167
+ case TAG_ID.OL:
1168
+ case TAG_ID.UL:
1169
+ case TAG_ID.DIV:
1170
+ case TAG_ID.DIR:
1171
+ case TAG_ID.NAV:
1172
+ case TAG_ID.MAIN:
1173
+ case TAG_ID.MENU:
1174
+ case TAG_ID.ASIDE:
1175
+ case TAG_ID.CENTER:
1176
+ case TAG_ID.FIGURE:
1177
+ case TAG_ID.FOOTER:
1178
+ case TAG_ID.HEADER:
1179
+ case TAG_ID.HGROUP:
1180
+ case TAG_ID.DIALOG:
1181
+ case TAG_ID.DETAILS:
1182
+ case TAG_ID.ADDRESS:
1183
+ case TAG_ID.ARTICLE:
1184
+ case TAG_ID.SEARCH:
1185
+ case TAG_ID.SECTION:
1186
+ case TAG_ID.SUMMARY:
1187
+ case TAG_ID.FIELDSET:
1188
+ case TAG_ID.BLOCKQUOTE:
1189
+ case TAG_ID.FIGCAPTION:
1190
+ addressStartTagInBody(v, q);
1191
+ break;
1192
+ case TAG_ID.LI:
1193
+ case TAG_ID.DD:
1194
+ case TAG_ID.DT:
1195
+ listItemStartTagInBody(v, q);
1196
+ break;
1197
+ case TAG_ID.BR:
1198
+ case TAG_ID.IMG:
1199
+ case TAG_ID.WBR:
1200
+ case TAG_ID.AREA:
1201
+ case TAG_ID.EMBED:
1202
+ case TAG_ID.KEYGEN:
1203
+ areaStartTagInBody(v, q);
1204
+ break;
1205
+ case TAG_ID.HR:
1206
+ hrStartTagInBody(v, q);
1207
+ break;
1208
+ case TAG_ID.RB:
1209
+ case TAG_ID.RTC:
1210
+ rbStartTagInBody(v, q);
1211
+ break;
1212
+ case TAG_ID.RT:
1213
+ case TAG_ID.RP:
1214
+ rtStartTagInBody(v, q);
1215
+ break;
1216
+ case TAG_ID.PRE:
1217
+ case TAG_ID.LISTING:
1218
+ preStartTagInBody(v, q);
1219
+ break;
1220
+ case TAG_ID.XMP:
1221
+ xmpStartTagInBody(v, q);
1222
+ break;
1223
+ case TAG_ID.SVG:
1224
+ svgStartTagInBody(v, q);
1225
+ break;
1226
+ case TAG_ID.HTML:
1227
+ htmlStartTagInBody(v, q);
1228
+ break;
1229
+ case TAG_ID.BASE:
1230
+ case TAG_ID.LINK:
1231
+ case TAG_ID.META:
1232
+ case TAG_ID.STYLE:
1233
+ case TAG_ID.TITLE:
1234
+ case TAG_ID.SCRIPT:
1235
+ case TAG_ID.BGSOUND:
1236
+ case TAG_ID.BASEFONT:
1237
+ case TAG_ID.TEMPLATE:
1238
+ startTagInHead(v, q);
1239
+ break;
1240
+ case TAG_ID.BODY:
1241
+ bodyStartTagInBody(v, q);
1242
+ break;
1243
+ case TAG_ID.FORM:
1244
+ formStartTagInBody(v, q);
1245
+ break;
1246
+ case TAG_ID.NOBR:
1247
+ nobrStartTagInBody(v, q);
1248
+ break;
1249
+ case TAG_ID.MATH:
1250
+ mathStartTagInBody(v, q);
1251
+ break;
1252
+ case TAG_ID.TABLE:
1253
+ tableStartTagInBody(v, q);
1254
+ break;
1255
+ case TAG_ID.INPUT:
1256
+ inputStartTagInBody(v, q);
1257
+ break;
1258
+ case TAG_ID.PARAM:
1259
+ case TAG_ID.TRACK:
1260
+ case TAG_ID.SOURCE:
1261
+ paramStartTagInBody(v, q);
1262
+ break;
1263
+ case TAG_ID.IMAGE:
1264
+ imageStartTagInBody(v, q);
1265
+ break;
1266
+ case TAG_ID.BUTTON:
1267
+ buttonStartTagInBody(v, q);
1268
+ break;
1269
+ case TAG_ID.APPLET:
1270
+ case TAG_ID.OBJECT:
1271
+ case TAG_ID.MARQUEE:
1272
+ appletStartTagInBody(v, q);
1273
+ break;
1274
+ case TAG_ID.IFRAME:
1275
+ iframeStartTagInBody(v, q);
1276
+ break;
1277
+ case TAG_ID.SELECT:
1278
+ selectStartTagInBody(v, q);
1279
+ break;
1280
+ case TAG_ID.OPTION:
1281
+ case TAG_ID.OPTGROUP:
1282
+ optgroupStartTagInBody(v, q);
1283
+ break;
1284
+ case TAG_ID.NOEMBED:
1285
+ case TAG_ID.NOFRAMES:
1286
+ rawTextStartTagInBody(v, q);
1287
+ break;
1288
+ case TAG_ID.FRAMESET:
1289
+ framesetStartTagInBody(v, q);
1290
+ break;
1291
+ case TAG_ID.TEXTAREA:
1292
+ textareaStartTagInBody(v, q);
1293
+ break;
1294
+ case TAG_ID.NOSCRIPT:
1295
+ v.options.scriptingEnabled ? rawTextStartTagInBody(v, q) : genericStartTagInBody(v, q);
1296
+ break;
1297
+ case TAG_ID.PLAINTEXT:
1298
+ plaintextStartTagInBody(v, q);
1299
+ break;
1300
+ case TAG_ID.COL:
1301
+ case TAG_ID.TH:
1302
+ case TAG_ID.TD:
1303
+ case TAG_ID.TR:
1304
+ case TAG_ID.HEAD:
1305
+ case TAG_ID.FRAME:
1306
+ case TAG_ID.TBODY:
1307
+ case TAG_ID.TFOOT:
1308
+ case TAG_ID.THEAD:
1309
+ case TAG_ID.CAPTION:
1310
+ case TAG_ID.COLGROUP: break;
1311
+ default: genericStartTagInBody(v, q);
1312
+ }
1313
+ }
1314
+ function bodyEndTagInBody(v, q) {
1315
+ if (v.openElements.hasInScope(TAG_ID.BODY) && (v.insertionMode = InsertionMode.AFTER_BODY, v.options.sourceCodeLocationInfo)) {
1316
+ let J = v.openElements.tryPeekProperlyNestedBodyElement();
1317
+ J && v._setEndLocation(J, q);
1318
+ }
1319
+ }
1320
+ function htmlEndTagInBody(v, q) {
1321
+ v.openElements.hasInScope(TAG_ID.BODY) && (v.insertionMode = InsertionMode.AFTER_BODY, endTagAfterBody(v, q));
1322
+ }
1323
+ function addressEndTagInBody(v, q) {
1324
+ let J = q.tagID;
1325
+ v.openElements.hasInScope(J) && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilTagNamePopped(J));
1326
+ }
1327
+ function formEndTagInBody(v) {
1328
+ let q = v.openElements.tmplCount > 0, { formElement: J } = v;
1329
+ q || (v.formElement = null), (J || q) && v.openElements.hasInScope(TAG_ID.FORM) && (v.openElements.generateImpliedEndTags(), q ? v.openElements.popUntilTagNamePopped(TAG_ID.FORM) : J && v.openElements.remove(J));
1330
+ }
1331
+ function pEndTagInBody(v) {
1332
+ v.openElements.hasInButtonScope(TAG_ID.P) || v._insertFakeElement(TAG_NAMES.P, TAG_ID.P), v._closePElement();
1333
+ }
1334
+ function liEndTagInBody(v) {
1335
+ v.openElements.hasInListItemScope(TAG_ID.LI) && (v.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.LI), v.openElements.popUntilTagNamePopped(TAG_ID.LI));
1336
+ }
1337
+ function ddEndTagInBody(v, q) {
1338
+ let J = q.tagID;
1339
+ v.openElements.hasInScope(J) && (v.openElements.generateImpliedEndTagsWithExclusion(J), v.openElements.popUntilTagNamePopped(J));
1340
+ }
1341
+ function numberedHeaderEndTagInBody(v) {
1342
+ v.openElements.hasNumberedHeaderInScope() && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilNumberedHeaderPopped());
1343
+ }
1344
+ function appletEndTagInBody(v, q) {
1345
+ let J = q.tagID;
1346
+ v.openElements.hasInScope(J) && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilTagNamePopped(J), v.activeFormattingElements.clearToLastMarker());
1347
+ }
1348
+ function brEndTagInBody(v) {
1349
+ v._reconstructActiveFormattingElements(), v._insertFakeElement(TAG_NAMES.BR, TAG_ID.BR), v.openElements.pop(), v.framesetOk = !1;
1350
+ }
1351
+ function genericEndTagInBody(v, q) {
1352
+ let J = q.tagName, Y = q.tagID;
1353
+ for (let q = v.openElements.stackTop; q > 0; q--) {
1354
+ let X = v.openElements.items[q], Z = v.openElements.tagIDs[q];
1355
+ if (Y === Z && (Y !== TAG_ID.UNKNOWN || v.treeAdapter.getTagName(X) === J)) {
1356
+ v.openElements.generateImpliedEndTagsWithExclusion(Y), v.openElements.stackTop >= q && v.openElements.shortenToLength(q);
1357
+ break;
1358
+ }
1359
+ if (v._isSpecialElement(X, Z)) break;
1360
+ }
1361
+ }
1362
+ function endTagInBody(v, q) {
1363
+ switch (q.tagID) {
1364
+ case TAG_ID.A:
1365
+ case TAG_ID.B:
1366
+ case TAG_ID.I:
1367
+ case TAG_ID.S:
1368
+ case TAG_ID.U:
1369
+ case TAG_ID.EM:
1370
+ case TAG_ID.TT:
1371
+ case TAG_ID.BIG:
1372
+ case TAG_ID.CODE:
1373
+ case TAG_ID.FONT:
1374
+ case TAG_ID.NOBR:
1375
+ case TAG_ID.SMALL:
1376
+ case TAG_ID.STRIKE:
1377
+ case TAG_ID.STRONG:
1378
+ callAdoptionAgency(v, q);
1379
+ break;
1380
+ case TAG_ID.P:
1381
+ pEndTagInBody(v);
1382
+ break;
1383
+ case TAG_ID.DL:
1384
+ case TAG_ID.UL:
1385
+ case TAG_ID.OL:
1386
+ case TAG_ID.DIR:
1387
+ case TAG_ID.DIV:
1388
+ case TAG_ID.NAV:
1389
+ case TAG_ID.PRE:
1390
+ case TAG_ID.MAIN:
1391
+ case TAG_ID.MENU:
1392
+ case TAG_ID.ASIDE:
1393
+ case TAG_ID.BUTTON:
1394
+ case TAG_ID.CENTER:
1395
+ case TAG_ID.FIGURE:
1396
+ case TAG_ID.FOOTER:
1397
+ case TAG_ID.HEADER:
1398
+ case TAG_ID.HGROUP:
1399
+ case TAG_ID.DIALOG:
1400
+ case TAG_ID.ADDRESS:
1401
+ case TAG_ID.ARTICLE:
1402
+ case TAG_ID.DETAILS:
1403
+ case TAG_ID.SEARCH:
1404
+ case TAG_ID.SECTION:
1405
+ case TAG_ID.SUMMARY:
1406
+ case TAG_ID.LISTING:
1407
+ case TAG_ID.FIELDSET:
1408
+ case TAG_ID.BLOCKQUOTE:
1409
+ case TAG_ID.FIGCAPTION:
1410
+ addressEndTagInBody(v, q);
1411
+ break;
1412
+ case TAG_ID.LI:
1413
+ liEndTagInBody(v);
1414
+ break;
1415
+ case TAG_ID.DD:
1416
+ case TAG_ID.DT:
1417
+ ddEndTagInBody(v, q);
1418
+ break;
1419
+ case TAG_ID.H1:
1420
+ case TAG_ID.H2:
1421
+ case TAG_ID.H3:
1422
+ case TAG_ID.H4:
1423
+ case TAG_ID.H5:
1424
+ case TAG_ID.H6:
1425
+ numberedHeaderEndTagInBody(v);
1426
+ break;
1427
+ case TAG_ID.BR:
1428
+ brEndTagInBody(v);
1429
+ break;
1430
+ case TAG_ID.BODY:
1431
+ bodyEndTagInBody(v, q);
1432
+ break;
1433
+ case TAG_ID.HTML:
1434
+ htmlEndTagInBody(v, q);
1435
+ break;
1436
+ case TAG_ID.FORM:
1437
+ formEndTagInBody(v);
1438
+ break;
1439
+ case TAG_ID.APPLET:
1440
+ case TAG_ID.OBJECT:
1441
+ case TAG_ID.MARQUEE:
1442
+ appletEndTagInBody(v, q);
1443
+ break;
1444
+ case TAG_ID.TEMPLATE:
1445
+ templateEndTagInHead(v, q);
1446
+ break;
1447
+ default: genericEndTagInBody(v, q);
1448
+ }
1449
+ }
1450
+ function eofInBody(v, q) {
1451
+ v.tmplInsertionModeStack.length > 0 ? eofInTemplate(v, q) : stopParsing(v, q);
1452
+ }
1453
+ function endTagInText(v, q) {
1454
+ var J;
1455
+ q.tagID === TAG_ID.SCRIPT && ((J = v.scriptHandler) == null || J.call(v, v.openElements.current)), v.openElements.pop(), v.insertionMode = v.originalInsertionMode;
1456
+ }
1457
+ function eofInText(v, q) {
1458
+ v._err(q, ERR.eofInElementThatCanContainOnlyText), v.openElements.pop(), v.insertionMode = v.originalInsertionMode, v.onEof(q);
1459
+ }
1460
+ function characterInTable(v, q) {
1461
+ if (v.openElements.currentTagId !== void 0 && TABLE_STRUCTURE_TAGS.has(v.openElements.currentTagId)) switch (v.pendingCharacterTokens.length = 0, v.hasNonWhitespacePendingCharacterToken = !1, v.originalInsertionMode = v.insertionMode, v.insertionMode = InsertionMode.IN_TABLE_TEXT, q.type) {
1462
+ case TokenType.CHARACTER:
1463
+ characterInTableText(v, q);
1464
+ break;
1465
+ case TokenType.WHITESPACE_CHARACTER:
1466
+ whitespaceCharacterInTableText(v, q);
1467
+ break;
1468
+ }
1469
+ else tokenInTable(v, q);
1470
+ }
1471
+ function captionStartTagInTable(v, q) {
1472
+ v.openElements.clearBackToTableContext(), v.activeFormattingElements.insertMarker(), v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_CAPTION;
1473
+ }
1474
+ function colgroupStartTagInTable(v, q) {
1475
+ v.openElements.clearBackToTableContext(), v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_COLUMN_GROUP;
1476
+ }
1477
+ function colStartTagInTable(v, q) {
1478
+ v.openElements.clearBackToTableContext(), v._insertFakeElement(TAG_NAMES.COLGROUP, TAG_ID.COLGROUP), v.insertionMode = InsertionMode.IN_COLUMN_GROUP, startTagInColumnGroup(v, q);
1479
+ }
1480
+ function tbodyStartTagInTable(v, q) {
1481
+ v.openElements.clearBackToTableContext(), v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_TABLE_BODY;
1482
+ }
1483
+ function tdStartTagInTable(v, q) {
1484
+ v.openElements.clearBackToTableContext(), v._insertFakeElement(TAG_NAMES.TBODY, TAG_ID.TBODY), v.insertionMode = InsertionMode.IN_TABLE_BODY, startTagInTableBody(v, q);
1485
+ }
1486
+ function tableStartTagInTable(v, q) {
1487
+ v.openElements.hasInTableScope(TAG_ID.TABLE) && (v.openElements.popUntilTagNamePopped(TAG_ID.TABLE), v._resetInsertionMode(), v._processStartTag(q));
1488
+ }
1489
+ function inputStartTagInTable(v, q) {
1490
+ isHiddenInput(q) ? v._appendElement(q, NS.HTML) : tokenInTable(v, q), q.ackSelfClosing = !0;
1491
+ }
1492
+ function formStartTagInTable(v, q) {
1493
+ !v.formElement && v.openElements.tmplCount === 0 && (v._insertElement(q, NS.HTML), v.formElement = v.openElements.current, v.openElements.pop());
1494
+ }
1495
+ function startTagInTable(v, q) {
1496
+ switch (q.tagID) {
1497
+ case TAG_ID.TD:
1498
+ case TAG_ID.TH:
1499
+ case TAG_ID.TR:
1500
+ tdStartTagInTable(v, q);
1501
+ break;
1502
+ case TAG_ID.STYLE:
1503
+ case TAG_ID.SCRIPT:
1504
+ case TAG_ID.TEMPLATE:
1505
+ startTagInHead(v, q);
1506
+ break;
1507
+ case TAG_ID.COL:
1508
+ colStartTagInTable(v, q);
1509
+ break;
1510
+ case TAG_ID.FORM:
1511
+ formStartTagInTable(v, q);
1512
+ break;
1513
+ case TAG_ID.TABLE:
1514
+ tableStartTagInTable(v, q);
1515
+ break;
1516
+ case TAG_ID.TBODY:
1517
+ case TAG_ID.TFOOT:
1518
+ case TAG_ID.THEAD:
1519
+ tbodyStartTagInTable(v, q);
1520
+ break;
1521
+ case TAG_ID.INPUT:
1522
+ inputStartTagInTable(v, q);
1523
+ break;
1524
+ case TAG_ID.CAPTION:
1525
+ captionStartTagInTable(v, q);
1526
+ break;
1527
+ case TAG_ID.COLGROUP:
1528
+ colgroupStartTagInTable(v, q);
1529
+ break;
1530
+ default: tokenInTable(v, q);
1531
+ }
1532
+ }
1533
+ function endTagInTable(v, q) {
1534
+ switch (q.tagID) {
1535
+ case TAG_ID.TABLE:
1536
+ v.openElements.hasInTableScope(TAG_ID.TABLE) && (v.openElements.popUntilTagNamePopped(TAG_ID.TABLE), v._resetInsertionMode());
1537
+ break;
1538
+ case TAG_ID.TEMPLATE:
1539
+ templateEndTagInHead(v, q);
1540
+ break;
1541
+ case TAG_ID.BODY:
1542
+ case TAG_ID.CAPTION:
1543
+ case TAG_ID.COL:
1544
+ case TAG_ID.COLGROUP:
1545
+ case TAG_ID.HTML:
1546
+ case TAG_ID.TBODY:
1547
+ case TAG_ID.TD:
1548
+ case TAG_ID.TFOOT:
1549
+ case TAG_ID.TH:
1550
+ case TAG_ID.THEAD:
1551
+ case TAG_ID.TR: break;
1552
+ default: tokenInTable(v, q);
1553
+ }
1554
+ }
1555
+ function tokenInTable(v, q) {
1556
+ let J = v.fosterParentingEnabled;
1557
+ v.fosterParentingEnabled = !0, modeInBody(v, q), v.fosterParentingEnabled = J;
1558
+ }
1559
+ function whitespaceCharacterInTableText(v, q) {
1560
+ v.pendingCharacterTokens.push(q);
1561
+ }
1562
+ function characterInTableText(v, q) {
1563
+ v.pendingCharacterTokens.push(q), v.hasNonWhitespacePendingCharacterToken = !0;
1564
+ }
1565
+ function tokenInTableText(v, q) {
1566
+ let J = 0;
1567
+ if (v.hasNonWhitespacePendingCharacterToken) for (; J < v.pendingCharacterTokens.length; J++) tokenInTable(v, v.pendingCharacterTokens[J]);
1568
+ else for (; J < v.pendingCharacterTokens.length; J++) v._insertCharacters(v.pendingCharacterTokens[J]);
1569
+ v.insertionMode = v.originalInsertionMode, v._processToken(q);
1570
+ }
1571
+ var TABLE_VOID_ELEMENTS = new Set([
1572
+ TAG_ID.CAPTION,
1573
+ TAG_ID.COL,
1574
+ TAG_ID.COLGROUP,
1575
+ TAG_ID.TBODY,
1576
+ TAG_ID.TD,
1577
+ TAG_ID.TFOOT,
1578
+ TAG_ID.TH,
1579
+ TAG_ID.THEAD,
1580
+ TAG_ID.TR
1581
+ ]);
1582
+ function startTagInCaption(v, q) {
1583
+ let J = q.tagID;
1584
+ TABLE_VOID_ELEMENTS.has(J) ? v.openElements.hasInTableScope(TAG_ID.CAPTION) && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilTagNamePopped(TAG_ID.CAPTION), v.activeFormattingElements.clearToLastMarker(), v.insertionMode = InsertionMode.IN_TABLE, startTagInTable(v, q)) : startTagInBody(v, q);
1585
+ }
1586
+ function endTagInCaption(v, q) {
1587
+ let J = q.tagID;
1588
+ switch (J) {
1589
+ case TAG_ID.CAPTION:
1590
+ case TAG_ID.TABLE:
1591
+ v.openElements.hasInTableScope(TAG_ID.CAPTION) && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilTagNamePopped(TAG_ID.CAPTION), v.activeFormattingElements.clearToLastMarker(), v.insertionMode = InsertionMode.IN_TABLE, J === TAG_ID.TABLE && endTagInTable(v, q));
1592
+ break;
1593
+ case TAG_ID.BODY:
1594
+ case TAG_ID.COL:
1595
+ case TAG_ID.COLGROUP:
1596
+ case TAG_ID.HTML:
1597
+ case TAG_ID.TBODY:
1598
+ case TAG_ID.TD:
1599
+ case TAG_ID.TFOOT:
1600
+ case TAG_ID.TH:
1601
+ case TAG_ID.THEAD:
1602
+ case TAG_ID.TR: break;
1603
+ default: endTagInBody(v, q);
1604
+ }
1605
+ }
1606
+ function startTagInColumnGroup(v, q) {
1607
+ switch (q.tagID) {
1608
+ case TAG_ID.HTML:
1609
+ startTagInBody(v, q);
1610
+ break;
1611
+ case TAG_ID.COL:
1612
+ v._appendElement(q, NS.HTML), q.ackSelfClosing = !0;
1613
+ break;
1614
+ case TAG_ID.TEMPLATE:
1615
+ startTagInHead(v, q);
1616
+ break;
1617
+ default: tokenInColumnGroup(v, q);
1618
+ }
1619
+ }
1620
+ function endTagInColumnGroup(v, q) {
1621
+ switch (q.tagID) {
1622
+ case TAG_ID.COLGROUP:
1623
+ v.openElements.currentTagId === TAG_ID.COLGROUP && (v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE);
1624
+ break;
1625
+ case TAG_ID.TEMPLATE:
1626
+ templateEndTagInHead(v, q);
1627
+ break;
1628
+ case TAG_ID.COL: break;
1629
+ default: tokenInColumnGroup(v, q);
1630
+ }
1631
+ }
1632
+ function tokenInColumnGroup(v, q) {
1633
+ v.openElements.currentTagId === TAG_ID.COLGROUP && (v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE, v._processToken(q));
1634
+ }
1635
+ function startTagInTableBody(v, q) {
1636
+ switch (q.tagID) {
1637
+ case TAG_ID.TR:
1638
+ v.openElements.clearBackToTableBodyContext(), v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_ROW;
1639
+ break;
1640
+ case TAG_ID.TH:
1641
+ case TAG_ID.TD:
1642
+ v.openElements.clearBackToTableBodyContext(), v._insertFakeElement(TAG_NAMES.TR, TAG_ID.TR), v.insertionMode = InsertionMode.IN_ROW, startTagInRow(v, q);
1643
+ break;
1644
+ case TAG_ID.CAPTION:
1645
+ case TAG_ID.COL:
1646
+ case TAG_ID.COLGROUP:
1647
+ case TAG_ID.TBODY:
1648
+ case TAG_ID.TFOOT:
1649
+ case TAG_ID.THEAD:
1650
+ v.openElements.hasTableBodyContextInTableScope() && (v.openElements.clearBackToTableBodyContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE, startTagInTable(v, q));
1651
+ break;
1652
+ default: startTagInTable(v, q);
1653
+ }
1654
+ }
1655
+ function endTagInTableBody(v, q) {
1656
+ let J = q.tagID;
1657
+ switch (q.tagID) {
1658
+ case TAG_ID.TBODY:
1659
+ case TAG_ID.TFOOT:
1660
+ case TAG_ID.THEAD:
1661
+ v.openElements.hasInTableScope(J) && (v.openElements.clearBackToTableBodyContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE);
1662
+ break;
1663
+ case TAG_ID.TABLE:
1664
+ v.openElements.hasTableBodyContextInTableScope() && (v.openElements.clearBackToTableBodyContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE, endTagInTable(v, q));
1665
+ break;
1666
+ case TAG_ID.BODY:
1667
+ case TAG_ID.CAPTION:
1668
+ case TAG_ID.COL:
1669
+ case TAG_ID.COLGROUP:
1670
+ case TAG_ID.HTML:
1671
+ case TAG_ID.TD:
1672
+ case TAG_ID.TH:
1673
+ case TAG_ID.TR: break;
1674
+ default: endTagInTable(v, q);
1675
+ }
1676
+ }
1677
+ function startTagInRow(v, q) {
1678
+ switch (q.tagID) {
1679
+ case TAG_ID.TH:
1680
+ case TAG_ID.TD:
1681
+ v.openElements.clearBackToTableRowContext(), v._insertElement(q, NS.HTML), v.insertionMode = InsertionMode.IN_CELL, v.activeFormattingElements.insertMarker();
1682
+ break;
1683
+ case TAG_ID.CAPTION:
1684
+ case TAG_ID.COL:
1685
+ case TAG_ID.COLGROUP:
1686
+ case TAG_ID.TBODY:
1687
+ case TAG_ID.TFOOT:
1688
+ case TAG_ID.THEAD:
1689
+ case TAG_ID.TR:
1690
+ v.openElements.hasInTableScope(TAG_ID.TR) && (v.openElements.clearBackToTableRowContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE_BODY, startTagInTableBody(v, q));
1691
+ break;
1692
+ default: startTagInTable(v, q);
1693
+ }
1694
+ }
1695
+ function endTagInRow(v, q) {
1696
+ switch (q.tagID) {
1697
+ case TAG_ID.TR:
1698
+ v.openElements.hasInTableScope(TAG_ID.TR) && (v.openElements.clearBackToTableRowContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE_BODY);
1699
+ break;
1700
+ case TAG_ID.TABLE:
1701
+ v.openElements.hasInTableScope(TAG_ID.TR) && (v.openElements.clearBackToTableRowContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE_BODY, endTagInTableBody(v, q));
1702
+ break;
1703
+ case TAG_ID.TBODY:
1704
+ case TAG_ID.TFOOT:
1705
+ case TAG_ID.THEAD:
1706
+ (v.openElements.hasInTableScope(q.tagID) || v.openElements.hasInTableScope(TAG_ID.TR)) && (v.openElements.clearBackToTableRowContext(), v.openElements.pop(), v.insertionMode = InsertionMode.IN_TABLE_BODY, endTagInTableBody(v, q));
1707
+ break;
1708
+ case TAG_ID.BODY:
1709
+ case TAG_ID.CAPTION:
1710
+ case TAG_ID.COL:
1711
+ case TAG_ID.COLGROUP:
1712
+ case TAG_ID.HTML:
1713
+ case TAG_ID.TD:
1714
+ case TAG_ID.TH: break;
1715
+ default: endTagInTable(v, q);
1716
+ }
1717
+ }
1718
+ function startTagInCell(v, q) {
1719
+ let J = q.tagID;
1720
+ TABLE_VOID_ELEMENTS.has(J) ? (v.openElements.hasInTableScope(TAG_ID.TD) || v.openElements.hasInTableScope(TAG_ID.TH)) && (v._closeTableCell(), startTagInRow(v, q)) : startTagInBody(v, q);
1721
+ }
1722
+ function endTagInCell(v, q) {
1723
+ let J = q.tagID;
1724
+ switch (J) {
1725
+ case TAG_ID.TD:
1726
+ case TAG_ID.TH:
1727
+ v.openElements.hasInTableScope(J) && (v.openElements.generateImpliedEndTags(), v.openElements.popUntilTagNamePopped(J), v.activeFormattingElements.clearToLastMarker(), v.insertionMode = InsertionMode.IN_ROW);
1728
+ break;
1729
+ case TAG_ID.TABLE:
1730
+ case TAG_ID.TBODY:
1731
+ case TAG_ID.TFOOT:
1732
+ case TAG_ID.THEAD:
1733
+ case TAG_ID.TR:
1734
+ v.openElements.hasInTableScope(J) && (v._closeTableCell(), endTagInRow(v, q));
1735
+ break;
1736
+ case TAG_ID.BODY:
1737
+ case TAG_ID.CAPTION:
1738
+ case TAG_ID.COL:
1739
+ case TAG_ID.COLGROUP:
1740
+ case TAG_ID.HTML: break;
1741
+ default: endTagInBody(v, q);
1742
+ }
1743
+ }
1744
+ function startTagInSelect(v, q) {
1745
+ switch (q.tagID) {
1746
+ case TAG_ID.HTML:
1747
+ startTagInBody(v, q);
1748
+ break;
1749
+ case TAG_ID.OPTION:
1750
+ v.openElements.currentTagId === TAG_ID.OPTION && v.openElements.pop(), v._insertElement(q, NS.HTML);
1751
+ break;
1752
+ case TAG_ID.OPTGROUP:
1753
+ v.openElements.currentTagId === TAG_ID.OPTION && v.openElements.pop(), v.openElements.currentTagId === TAG_ID.OPTGROUP && v.openElements.pop(), v._insertElement(q, NS.HTML);
1754
+ break;
1755
+ case TAG_ID.HR:
1756
+ v.openElements.currentTagId === TAG_ID.OPTION && v.openElements.pop(), v.openElements.currentTagId === TAG_ID.OPTGROUP && v.openElements.pop(), v._appendElement(q, NS.HTML), q.ackSelfClosing = !0;
1757
+ break;
1758
+ case TAG_ID.INPUT:
1759
+ case TAG_ID.KEYGEN:
1760
+ case TAG_ID.TEXTAREA:
1761
+ case TAG_ID.SELECT:
1762
+ v.openElements.hasInSelectScope(TAG_ID.SELECT) && (v.openElements.popUntilTagNamePopped(TAG_ID.SELECT), v._resetInsertionMode(), q.tagID !== TAG_ID.SELECT && v._processStartTag(q));
1763
+ break;
1764
+ case TAG_ID.SCRIPT:
1765
+ case TAG_ID.TEMPLATE:
1766
+ startTagInHead(v, q);
1767
+ break;
1768
+ default:
1769
+ }
1770
+ }
1771
+ function endTagInSelect(v, q) {
1772
+ switch (q.tagID) {
1773
+ case TAG_ID.OPTGROUP:
1774
+ v.openElements.stackTop > 0 && v.openElements.currentTagId === TAG_ID.OPTION && v.openElements.tagIDs[v.openElements.stackTop - 1] === TAG_ID.OPTGROUP && v.openElements.pop(), v.openElements.currentTagId === TAG_ID.OPTGROUP && v.openElements.pop();
1775
+ break;
1776
+ case TAG_ID.OPTION:
1777
+ v.openElements.currentTagId === TAG_ID.OPTION && v.openElements.pop();
1778
+ break;
1779
+ case TAG_ID.SELECT:
1780
+ v.openElements.hasInSelectScope(TAG_ID.SELECT) && (v.openElements.popUntilTagNamePopped(TAG_ID.SELECT), v._resetInsertionMode());
1781
+ break;
1782
+ case TAG_ID.TEMPLATE:
1783
+ templateEndTagInHead(v, q);
1784
+ break;
1785
+ default:
1786
+ }
1787
+ }
1788
+ function startTagInSelectInTable(v, q) {
1789
+ let J = q.tagID;
1790
+ J === TAG_ID.CAPTION || J === TAG_ID.TABLE || J === TAG_ID.TBODY || J === TAG_ID.TFOOT || J === TAG_ID.THEAD || J === TAG_ID.TR || J === TAG_ID.TD || J === TAG_ID.TH ? (v.openElements.popUntilTagNamePopped(TAG_ID.SELECT), v._resetInsertionMode(), v._processStartTag(q)) : startTagInSelect(v, q);
1791
+ }
1792
+ function endTagInSelectInTable(v, q) {
1793
+ let J = q.tagID;
1794
+ J === TAG_ID.CAPTION || J === TAG_ID.TABLE || J === TAG_ID.TBODY || J === TAG_ID.TFOOT || J === TAG_ID.THEAD || J === TAG_ID.TR || J === TAG_ID.TD || J === TAG_ID.TH ? v.openElements.hasInTableScope(J) && (v.openElements.popUntilTagNamePopped(TAG_ID.SELECT), v._resetInsertionMode(), v.onEndTag(q)) : endTagInSelect(v, q);
1795
+ }
1796
+ function startTagInTemplate(v, q) {
1797
+ switch (q.tagID) {
1798
+ case TAG_ID.BASE:
1799
+ case TAG_ID.BASEFONT:
1800
+ case TAG_ID.BGSOUND:
1801
+ case TAG_ID.LINK:
1802
+ case TAG_ID.META:
1803
+ case TAG_ID.NOFRAMES:
1804
+ case TAG_ID.SCRIPT:
1805
+ case TAG_ID.STYLE:
1806
+ case TAG_ID.TEMPLATE:
1807
+ case TAG_ID.TITLE:
1808
+ startTagInHead(v, q);
1809
+ break;
1810
+ case TAG_ID.CAPTION:
1811
+ case TAG_ID.COLGROUP:
1812
+ case TAG_ID.TBODY:
1813
+ case TAG_ID.TFOOT:
1814
+ case TAG_ID.THEAD:
1815
+ v.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE, v.insertionMode = InsertionMode.IN_TABLE, startTagInTable(v, q);
1816
+ break;
1817
+ case TAG_ID.COL:
1818
+ v.tmplInsertionModeStack[0] = InsertionMode.IN_COLUMN_GROUP, v.insertionMode = InsertionMode.IN_COLUMN_GROUP, startTagInColumnGroup(v, q);
1819
+ break;
1820
+ case TAG_ID.TR:
1821
+ v.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE_BODY, v.insertionMode = InsertionMode.IN_TABLE_BODY, startTagInTableBody(v, q);
1822
+ break;
1823
+ case TAG_ID.TD:
1824
+ case TAG_ID.TH:
1825
+ v.tmplInsertionModeStack[0] = InsertionMode.IN_ROW, v.insertionMode = InsertionMode.IN_ROW, startTagInRow(v, q);
1826
+ break;
1827
+ default: v.tmplInsertionModeStack[0] = InsertionMode.IN_BODY, v.insertionMode = InsertionMode.IN_BODY, startTagInBody(v, q);
1828
+ }
1829
+ }
1830
+ function endTagInTemplate(v, q) {
1831
+ q.tagID === TAG_ID.TEMPLATE && templateEndTagInHead(v, q);
1832
+ }
1833
+ function eofInTemplate(v, q) {
1834
+ v.openElements.tmplCount > 0 ? (v.openElements.popUntilTagNamePopped(TAG_ID.TEMPLATE), v.activeFormattingElements.clearToLastMarker(), v.tmplInsertionModeStack.shift(), v._resetInsertionMode(), v.onEof(q)) : stopParsing(v, q);
1835
+ }
1836
+ function startTagAfterBody(v, q) {
1837
+ q.tagID === TAG_ID.HTML ? startTagInBody(v, q) : tokenAfterBody(v, q);
1838
+ }
1839
+ function endTagAfterBody(v, q) {
1840
+ if (q.tagID === TAG_ID.HTML) {
1841
+ if (v.fragmentContext || (v.insertionMode = InsertionMode.AFTER_AFTER_BODY), v.options.sourceCodeLocationInfo && v.openElements.tagIDs[0] === TAG_ID.HTML) {
1842
+ v._setEndLocation(v.openElements.items[0], q);
1843
+ let J = v.openElements.items[1];
1844
+ J && !v.treeAdapter.getNodeSourceCodeLocation(J)?.endTag && v._setEndLocation(J, q);
1845
+ }
1846
+ } else tokenAfterBody(v, q);
1847
+ }
1848
+ function tokenAfterBody(v, q) {
1849
+ v.insertionMode = InsertionMode.IN_BODY, modeInBody(v, q);
1850
+ }
1851
+ function startTagInFrameset(v, q) {
1852
+ switch (q.tagID) {
1853
+ case TAG_ID.HTML:
1854
+ startTagInBody(v, q);
1855
+ break;
1856
+ case TAG_ID.FRAMESET:
1857
+ v._insertElement(q, NS.HTML);
1858
+ break;
1859
+ case TAG_ID.FRAME:
1860
+ v._appendElement(q, NS.HTML), q.ackSelfClosing = !0;
1861
+ break;
1862
+ case TAG_ID.NOFRAMES:
1863
+ startTagInHead(v, q);
1864
+ break;
1865
+ default:
1866
+ }
1867
+ }
1868
+ function endTagInFrameset(v, q) {
1869
+ q.tagID === TAG_ID.FRAMESET && !v.openElements.isRootHtmlElementCurrent() && (v.openElements.pop(), !v.fragmentContext && v.openElements.currentTagId !== TAG_ID.FRAMESET && (v.insertionMode = InsertionMode.AFTER_FRAMESET));
1870
+ }
1871
+ function startTagAfterFrameset(v, q) {
1872
+ switch (q.tagID) {
1873
+ case TAG_ID.HTML:
1874
+ startTagInBody(v, q);
1875
+ break;
1876
+ case TAG_ID.NOFRAMES:
1877
+ startTagInHead(v, q);
1878
+ break;
1879
+ default:
1880
+ }
1881
+ }
1882
+ function endTagAfterFrameset(v, q) {
1883
+ q.tagID === TAG_ID.HTML && (v.insertionMode = InsertionMode.AFTER_AFTER_FRAMESET);
1884
+ }
1885
+ function startTagAfterAfterBody(v, q) {
1886
+ q.tagID === TAG_ID.HTML ? startTagInBody(v, q) : tokenAfterAfterBody(v, q);
1887
+ }
1888
+ function tokenAfterAfterBody(v, q) {
1889
+ v.insertionMode = InsertionMode.IN_BODY, modeInBody(v, q);
1890
+ }
1891
+ function startTagAfterAfterFrameset(v, q) {
1892
+ switch (q.tagID) {
1893
+ case TAG_ID.HTML:
1894
+ startTagInBody(v, q);
1895
+ break;
1896
+ case TAG_ID.NOFRAMES:
1897
+ startTagInHead(v, q);
1898
+ break;
1899
+ default:
1900
+ }
1901
+ }
1902
+ function nullCharacterInForeignContent(v, q) {
1903
+ q.chars = "�", v._insertCharacters(q);
1904
+ }
1905
+ function characterInForeignContent(v, q) {
1906
+ v._insertCharacters(q), v.framesetOk = !1;
1907
+ }
1908
+ function popUntilHtmlOrIntegrationPoint(v) {
1909
+ for (; v.treeAdapter.getNamespaceURI(v.openElements.current) !== NS.HTML && v.openElements.currentTagId !== void 0 && !v._isIntegrationPoint(v.openElements.currentTagId, v.openElements.current);) v.openElements.pop();
1910
+ }
1911
+ function startTagInForeignContent(v, q) {
1912
+ if (causesExit(q)) popUntilHtmlOrIntegrationPoint(v), v._startTagOutsideForeignContent(q);
1913
+ else {
1914
+ let J = v._getAdjustedCurrentElement(), Y = v.treeAdapter.getNamespaceURI(J);
1915
+ Y === NS.MATHML ? adjustTokenMathMLAttrs(q) : Y === NS.SVG && (adjustTokenSVGTagName(q), adjustTokenSVGAttrs(q)), adjustTokenXMLAttrs(q), q.selfClosing ? v._appendElement(q, Y) : v._insertElement(q, Y), q.ackSelfClosing = !0;
1916
+ }
1917
+ }
1918
+ function endTagInForeignContent(v, q) {
1919
+ if (q.tagID === TAG_ID.P || q.tagID === TAG_ID.BR) {
1920
+ popUntilHtmlOrIntegrationPoint(v), v._endTagOutsideForeignContent(q);
1921
+ return;
1922
+ }
1923
+ for (let J = v.openElements.stackTop; J > 0; J--) {
1924
+ let Y = v.openElements.items[J];
1925
+ if (v.treeAdapter.getNamespaceURI(Y) === NS.HTML) {
1926
+ v._endTagOutsideForeignContent(q);
1927
+ break;
1928
+ }
1929
+ let X = v.treeAdapter.getTagName(Y);
1930
+ if (X.toLowerCase() === q.tagName) {
1931
+ q.tagName = X, v.openElements.shortenToLength(J);
1932
+ break;
1933
+ }
1934
+ }
1935
+ }
1936
+ export { Parser };