@cloudflare/kumo 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/ai/component-registry.json +39 -11
- package/ai/component-registry.md +213 -23
- package/ai/schemas.ts +2 -1
- package/dist/.build-complete +1 -1
- package/dist/Legend-AE5XCSyU.js +388 -0
- package/dist/Legend-AE5XCSyU.js.map +1 -0
- package/dist/abap-DBQ6eW1v.js +8 -0
- package/dist/abap-DBQ6eW1v.js.map +1 -0
- package/dist/actionscript-3-DiEsS-FW.js +8 -0
- package/dist/actionscript-3-DiEsS-FW.js.map +1 -0
- package/dist/ada-DGQ_5PSJ.js +8 -0
- package/dist/ada-DGQ_5PSJ.js.map +1 -0
- package/dist/ai/schemas.d.ts +16 -2
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/{schemas-CdpAeJKO.js → ai/schemas.js} +116 -114
- package/dist/ai/schemas.js.map +1 -0
- package/dist/andromeeda-0OVEHq5k.js +6 -0
- package/dist/andromeeda-0OVEHq5k.js.map +1 -0
- package/dist/angular-html-C3bwzvDd.js +34 -0
- package/dist/angular-html-C3bwzvDd.js.map +1 -0
- package/dist/angular-ts-fBH42fxp.js +23 -0
- package/dist/angular-ts-fBH42fxp.js.map +1 -0
- package/dist/apache-Bbrn7pkv.js +8 -0
- package/dist/apache-Bbrn7pkv.js.map +1 -0
- package/dist/apex-D7jlLUJl.js +8 -0
- package/dist/apex-D7jlLUJl.js.map +1 -0
- package/dist/apl-Cal58rzR.js +18 -0
- package/dist/apl-Cal58rzR.js.map +1 -0
- package/dist/applescript-AZMDCVmb.js +8 -0
- package/dist/applescript-AZMDCVmb.js.map +1 -0
- package/dist/ara-D7lI3smf.js +8 -0
- package/dist/ara-D7lI3smf.js.map +1 -0
- package/dist/asciidoc-B_JWnvj-.js +8 -0
- package/dist/asciidoc-B_JWnvj-.js.map +1 -0
- package/dist/asm-CF39_jeh.js +8 -0
- package/dist/asm-CF39_jeh.js.map +1 -0
- package/dist/astro-DvJenNvt.js +20 -0
- package/dist/astro-DvJenNvt.js.map +1 -0
- package/dist/aurora-x-lzSm_5DI.js +6 -0
- package/dist/aurora-x-lzSm_5DI.js.map +1 -0
- package/dist/awk-D1dwqHUl.js +8 -0
- package/dist/awk-D1dwqHUl.js.map +1 -0
- package/dist/ayu-dark-C_pOwMAx.js +6 -0
- package/dist/ayu-dark-C_pOwMAx.js.map +1 -0
- package/dist/ayu-light-C25DTeWu.js +6 -0
- package/dist/ayu-light-C25DTeWu.js.map +1 -0
- package/dist/ayu-mirage-9IoMPoai.js +6 -0
- package/dist/ayu-mirage-9IoMPoai.js.map +1 -0
- package/dist/{badge-Dc99vsfo.js → badge-DUfmrhhZ.js} +23 -18
- package/dist/badge-DUfmrhhZ.js.map +1 -0
- package/dist/ballerina-0aHuYbBL.js +8 -0
- package/dist/ballerina-0aHuYbBL.js.map +1 -0
- package/dist/bat-hp8TkMW_.js +8 -0
- package/dist/bat-hp8TkMW_.js.map +1 -0
- package/dist/beancount-DhXwArMG.js +8 -0
- package/dist/beancount-DhXwArMG.js.map +1 -0
- package/dist/berry-SKcQ_bn6.js +8 -0
- package/dist/berry-SKcQ_bn6.js.map +1 -0
- package/dist/bibtex-CKeuI1gX.js +8 -0
- package/dist/bibtex-CKeuI1gX.js.map +1 -0
- package/dist/bicep-Bb1Z8c8o.js +8 -0
- package/dist/bicep-Bb1Z8c8o.js.map +1 -0
- package/dist/bird2-C3rWbj4Z.js +8 -0
- package/dist/bird2-C3rWbj4Z.js.map +1 -0
- package/dist/blade-THHHddQO.js +22 -0
- package/dist/blade-THHHddQO.js.map +1 -0
- package/dist/breadcrumbs-BPtbCStQ.js +166 -0
- package/dist/breadcrumbs-BPtbCStQ.js.map +1 -0
- package/dist/bsl-CflI2mMp.js +10 -0
- package/dist/bsl-CflI2mMp.js.map +1 -0
- package/dist/c-D5qA7m19.js +8 -0
- package/dist/c-D5qA7m19.js.map +1 -0
- package/dist/c3-COOn93H9.js +8 -0
- package/dist/c3-COOn93H9.js.map +1 -0
- package/dist/cadence-Dxfo-G8_.js +8 -0
- package/dist/cadence-Dxfo-G8_.js.map +1 -0
- package/dist/cairo-CY6szQm5.js +10 -0
- package/dist/cairo-CY6szQm5.js.map +1 -0
- package/dist/catalog.js +1 -1
- package/dist/catalog.js.map +1 -1
- package/dist/catppuccin-frappe-CpIXPvSU.js +6 -0
- package/dist/catppuccin-frappe-CpIXPvSU.js.map +1 -0
- package/dist/catppuccin-latte-xiJp113n.js +6 -0
- package/dist/catppuccin-latte-xiJp113n.js.map +1 -0
- package/dist/catppuccin-macchiato-CUb8G_sh.js +6 -0
- package/dist/catppuccin-macchiato-CUb8G_sh.js.map +1 -0
- package/dist/catppuccin-mocha-_pSbIuk3.js +6 -0
- package/dist/catppuccin-mocha-_pSbIuk3.js.map +1 -0
- package/dist/{checkbox-CfFoTNFI.js → checkbox-z5gO1lL8.js} +48 -48
- package/dist/checkbox-z5gO1lL8.js.map +1 -0
- package/dist/clarity-S9WX3mE2.js +8 -0
- package/dist/clarity-S9WX3mE2.js.map +1 -0
- package/dist/{clipboard-text-1d0rHIhb.js → clipboard-text-DbvIaZ3g.js} +4 -4
- package/dist/clipboard-text-DbvIaZ3g.js.map +1 -0
- package/dist/clojure-CMSQ2cRZ.js +8 -0
- package/dist/clojure-CMSQ2cRZ.js.map +1 -0
- package/dist/cmake-BjGOmuDM.js +8 -0
- package/dist/cmake-BjGOmuDM.js.map +1 -0
- package/dist/cobol-CdczAIkZ.js +12 -0
- package/dist/cobol-CdczAIkZ.js.map +1 -0
- package/dist/code/server.js +58 -0
- package/dist/code/server.js.map +1 -0
- package/dist/code-T2wPDiM0.js.map +1 -1
- package/dist/code.js +205 -0
- package/dist/code.js.map +1 -0
- package/dist/codeowners-CJleX2EU.js +8 -0
- package/dist/codeowners-CJleX2EU.js.map +1 -0
- package/dist/codeql-C_xiqGOC.js +8 -0
- package/dist/codeql-C_xiqGOC.js.map +1 -0
- package/dist/coffee-DbwFrMGw.js +10 -0
- package/dist/coffee-DbwFrMGw.js.map +1 -0
- package/dist/combobox-CJqgoue6.js +336 -0
- package/dist/combobox-CJqgoue6.js.map +1 -0
- package/dist/command-line/cli.js +4 -0
- package/dist/command-line/commands/add.js +4 -0
- package/dist/{command-palette-B80cqB7K.js → command-palette-xctZ--ZT.js} +55 -55
- package/dist/command-palette-xctZ--ZT.js.map +1 -0
- package/dist/common-lisp-bZFDzkJA.js +8 -0
- package/dist/common-lisp-bZFDzkJA.js.map +1 -0
- package/dist/components/badge.js +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/chart.js +9 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/flow.js +1000 -980
- package/dist/components/flow.js.map +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/tooltip.js +1 -1
- package/dist/coq-BHwvPA1n.js +8 -0
- package/dist/coq-BHwvPA1n.js.map +1 -0
- package/dist/cpp-8X-mPrPy.js +20 -0
- package/dist/cpp-8X-mPrPy.js.map +1 -0
- package/dist/crystal-ClltT4Pm.js +20 -0
- package/dist/crystal-ClltT4Pm.js.map +1 -0
- package/dist/csharp-Byem5RBI.js +8 -0
- package/dist/csharp-Byem5RBI.js.map +1 -0
- package/dist/css-qd-96f_M.js +8 -0
- package/dist/css-qd-96f_M.js.map +1 -0
- package/dist/csv-CF_FKHnB.js +8 -0
- package/dist/csv-CF_FKHnB.js.map +1 -0
- package/dist/cue-I1Agx594.js +8 -0
- package/dist/cue-I1Agx594.js.map +1 -0
- package/dist/cypher-plLNBUt5.js +8 -0
- package/dist/cypher-plLNBUt5.js.map +1 -0
- package/dist/d-CEuq9VFi.js +8 -0
- package/dist/d-CEuq9VFi.js.map +1 -0
- package/dist/dark-plus-BoH9QJRG.js +6 -0
- package/dist/dark-plus-BoH9QJRG.js.map +1 -0
- package/dist/dart-BW14f2cB.js +8 -0
- package/dist/dart-BW14f2cB.js.map +1 -0
- package/dist/dax-3tjM9tVE.js +8 -0
- package/dist/dax-3tjM9tVE.js.map +1 -0
- package/dist/desktop-C_s7lQ2C.js +8 -0
- package/dist/desktop-C_s7lQ2C.js.map +1 -0
- package/dist/dialog-1pa-ezdL.js +112 -0
- package/dist/dialog-1pa-ezdL.js.map +1 -0
- package/dist/diff-B9PHDIQg.js +8 -0
- package/dist/diff-B9PHDIQg.js.map +1 -0
- package/dist/docker-rmWVNdXq.js +8 -0
- package/dist/docker-rmWVNdXq.js.map +1 -0
- package/dist/dotenv-DZArZ0py.js +8 -0
- package/dist/dotenv-DZArZ0py.js.map +1 -0
- package/dist/dracula-CdWPhGUA.js +6 -0
- package/dist/dracula-CdWPhGUA.js.map +1 -0
- package/dist/dracula-soft-DRgtS4KI.js +6 -0
- package/dist/dracula-soft-DRgtS4KI.js.map +1 -0
- package/dist/dream-maker-DNRMl5wX.js +8 -0
- package/dist/dream-maker-DNRMl5wX.js.map +1 -0
- package/dist/{dropdown-CfS4QcSR.js → dropdown-BXg01-8j.js} +3 -3
- package/dist/{dropdown-CfS4QcSR.js.map → dropdown-BXg01-8j.js.map} +1 -1
- package/dist/edge-CQUaQiBB.js +14 -0
- package/dist/edge-CQUaQiBB.js.map +1 -0
- package/dist/elixir-BIX3y1uJ.js +10 -0
- package/dist/elixir-BIX3y1uJ.js.map +1 -0
- package/dist/elm-DNVN4B4L.js +10 -0
- package/dist/elm-DNVN4B4L.js.map +1 -0
- package/dist/emacs-lisp-C3TqDViv.js +8 -0
- package/dist/emacs-lisp-C3TqDViv.js.map +1 -0
- package/dist/engine-compile-D-n7xALU.js +2621 -0
- package/dist/engine-compile-D-n7xALU.js.map +1 -0
- package/dist/engine-javascript-BGkeRc0U.js +26 -0
- package/dist/engine-javascript-BGkeRc0U.js.map +1 -0
- package/dist/engine-oniguruma-T2xha06Q.js +304 -0
- package/dist/engine-oniguruma-T2xha06Q.js.map +1 -0
- package/dist/erb-CPJOs_gM.js +12 -0
- package/dist/erb-CPJOs_gM.js.map +1 -0
- package/dist/erlang-X97pCGTS.js +10 -0
- package/dist/erlang-X97pCGTS.js.map +1 -0
- package/dist/everforest-dark-C9JXzteI.js +6 -0
- package/dist/everforest-dark-C9JXzteI.js.map +1 -0
- package/dist/everforest-light-xBi4ZMR7.js +6 -0
- package/dist/everforest-light-xBi4ZMR7.js.map +1 -0
- package/dist/fennel-fKVJGO8V.js +8 -0
- package/dist/fennel-fKVJGO8V.js.map +1 -0
- package/dist/{field-B8xISAuX.js → field-BYaOyOtJ.js} +7 -7
- package/dist/{field-B8xISAuX.js.map → field-BYaOyOtJ.js.map} +1 -1
- package/dist/fish-BB5DT4M2.js +8 -0
- package/dist/fish-BB5DT4M2.js.map +1 -0
- package/dist/fluent-AMVPEbdR.js +8 -0
- package/dist/fluent-AMVPEbdR.js.map +1 -0
- package/dist/fortran-fixed-form-J4xKprxx.js +10 -0
- package/dist/fortran-fixed-form-J4xKprxx.js.map +1 -0
- package/dist/fortran-free-form-89VVYcvD.js +8 -0
- package/dist/fortran-free-form-89VVYcvD.js.map +1 -0
- package/dist/fsharp-BnRQMxrz.js +10 -0
- package/dist/fsharp-BnRQMxrz.js.map +1 -0
- package/dist/gdresource-DGR3GPIj.js +12 -0
- package/dist/gdresource-DGR3GPIj.js.map +1 -0
- package/dist/gdscript-8-4n2AaI.js +8 -0
- package/dist/gdscript-8-4n2AaI.js.map +1 -0
- package/dist/gdshader-BCM6bIM_.js +8 -0
- package/dist/gdshader-BCM6bIM_.js.map +1 -0
- package/dist/genie-CxR2u3hD.js +8 -0
- package/dist/genie-CxR2u3hD.js.map +1 -0
- package/dist/gherkin-BhW6oAYW.js +8 -0
- package/dist/gherkin-BhW6oAYW.js.map +1 -0
- package/dist/git-commit-DSzkYnqf.js +10 -0
- package/dist/git-commit-DSzkYnqf.js.map +1 -0
- package/dist/git-rebase-CY0sqDHH.js +10 -0
- package/dist/git-rebase-CY0sqDHH.js.map +1 -0
- package/dist/github-dark-EGgK0P1m.js +6 -0
- package/dist/github-dark-EGgK0P1m.js.map +1 -0
- package/dist/github-dark-default-69UGLTaR.js +6 -0
- package/dist/github-dark-default-69UGLTaR.js.map +1 -0
- package/dist/github-dark-dimmed-CnBHruXC.js +6 -0
- package/dist/github-dark-dimmed-CnBHruXC.js.map +1 -0
- package/dist/github-dark-high-contrast-Dz2ZsuOt.js +6 -0
- package/dist/github-dark-high-contrast-Dz2ZsuOt.js.map +1 -0
- package/dist/github-light-C7TbDuh5.js +6 -0
- package/dist/github-light-C7TbDuh5.js.map +1 -0
- package/dist/github-light-default-C1fruPEw.js +6 -0
- package/dist/github-light-default-C1fruPEw.js.map +1 -0
- package/dist/github-light-high-contrast-SmWFD2B-.js +6 -0
- package/dist/github-light-high-contrast-SmWFD2B-.js.map +1 -0
- package/dist/gleam-PNso-9g-.js +8 -0
- package/dist/gleam-PNso-9g-.js.map +1 -0
- package/dist/glimmer-js-DY9OBWW6.js +16 -0
- package/dist/glimmer-js-DY9OBWW6.js.map +1 -0
- package/dist/glimmer-ts-CKjdlzG3.js +16 -0
- package/dist/glimmer-ts-CKjdlzG3.js.map +1 -0
- package/dist/glsl-Bo9QfxI7.js +10 -0
- package/dist/glsl-Bo9QfxI7.js.map +1 -0
- package/dist/gn-B8imrxEe.js +8 -0
- package/dist/gn-B8imrxEe.js.map +1 -0
- package/dist/gnuplot-z48QnpzZ.js +8 -0
- package/dist/gnuplot-z48QnpzZ.js.map +1 -0
- package/dist/go-BUI2a86a.js +8 -0
- package/dist/go-BUI2a86a.js.map +1 -0
- package/dist/graphql-CYUl2j62.js +16 -0
- package/dist/graphql-CYUl2j62.js.map +1 -0
- package/dist/groovy-BZajDB1h.js +8 -0
- package/dist/groovy-BZajDB1h.js.map +1 -0
- package/dist/gruvbox-dark-hard-DEp4fn0U.js +6 -0
- package/dist/gruvbox-dark-hard-DEp4fn0U.js.map +1 -0
- package/dist/gruvbox-dark-medium-D3l-n4N3.js +6 -0
- package/dist/gruvbox-dark-medium-D3l-n4N3.js.map +1 -0
- package/dist/gruvbox-dark-soft-Ca_lMr1K.js +6 -0
- package/dist/gruvbox-dark-soft-Ca_lMr1K.js.map +1 -0
- package/dist/gruvbox-light-hard-D5BcqPys.js +6 -0
- package/dist/gruvbox-light-hard-D5BcqPys.js.map +1 -0
- package/dist/gruvbox-light-medium-C_7vC_ep.js +6 -0
- package/dist/gruvbox-light-medium-C_7vC_ep.js.map +1 -0
- package/dist/gruvbox-light-soft-YeHuiVT9.js +6 -0
- package/dist/gruvbox-light-soft-YeHuiVT9.js.map +1 -0
- package/dist/hack-Bo7_3XMo.js +12 -0
- package/dist/hack-Bo7_3XMo.js.map +1 -0
- package/dist/haml-lAa-UgZq.js +12 -0
- package/dist/haml-lAa-UgZq.js.map +1 -0
- package/dist/handlebars-C-lypSbJ.js +16 -0
- package/dist/handlebars-C-lypSbJ.js.map +1 -0
- package/dist/haskell-CyfJi0Qi.js +8 -0
- package/dist/haskell-CyfJi0Qi.js.map +1 -0
- package/dist/haxe-DHpItfCt.js +8 -0
- package/dist/haxe-DHpItfCt.js.map +1 -0
- package/dist/hcl-C-f84Y9W.js +8 -0
- package/dist/hcl-C-f84Y9W.js.map +1 -0
- package/dist/hjson-8VYQauSm.js +8 -0
- package/dist/hjson-8VYQauSm.js.map +1 -0
- package/dist/hlsl-Bi2Lb4au.js +8 -0
- package/dist/hlsl-Bi2Lb4au.js.map +1 -0
- package/dist/horizon-DyGYchkb.js +6 -0
- package/dist/horizon-DyGYchkb.js.map +1 -0
- package/dist/horizon-bright-DatYugLo.js +6 -0
- package/dist/horizon-bright-DatYugLo.js.map +1 -0
- package/dist/houston-DaTAsj92.js +6 -0
- package/dist/houston-DaTAsj92.js.map +1 -0
- package/dist/html-BXZx6WkT.js +12 -0
- package/dist/html-BXZx6WkT.js.map +1 -0
- package/dist/html-derivative-CaPNhXFu.js +10 -0
- package/dist/html-derivative-CaPNhXFu.js.map +1 -0
- package/dist/http-BJ0BMq9T.js +16 -0
- package/dist/http-BJ0BMq9T.js.map +1 -0
- package/dist/hurl-D_d_bmYM.js +14 -0
- package/dist/hurl-D_d_bmYM.js.map +1 -0
- package/dist/hxml-C8H9PCaB.js +10 -0
- package/dist/hxml-C8H9PCaB.js.map +1 -0
- package/dist/hy-Cf7WyqnA.js +8 -0
- package/dist/hy-Cf7WyqnA.js.map +1 -0
- package/dist/imba-4cu8YWL6.js +8 -0
- package/dist/imba-4cu8YWL6.js.map +1 -0
- package/dist/index-yfbAkHut.js +7313 -0
- package/dist/index-yfbAkHut.js.map +1 -0
- package/dist/index.js +72 -67
- package/dist/index.js.map +1 -1
- package/dist/ini-DdlAq5Sk.js +8 -0
- package/dist/ini-DdlAq5Sk.js.map +1 -0
- package/dist/{input-DCzpefuq.js → input-BXn3ElmF.js} +3 -3
- package/dist/{input-DCzpefuq.js.map → input-BXn3ElmF.js.map} +1 -1
- package/dist/{input-area-DCaAN9nG.js → input-area-C3ddZhEo.js} +3 -3
- package/dist/{input-area-DCaAN9nG.js.map → input-area-C3ddZhEo.js.map} +1 -1
- package/dist/{input-group-BbaVpJnA.js → input-group-BiUKE2TR.js} +5 -5
- package/dist/input-group-BiUKE2TR.js.map +1 -0
- package/dist/java-DZX_qz_V.js +8 -0
- package/dist/java-DZX_qz_V.js.map +1 -0
- package/dist/javascript-Dcop9YgO.js +8 -0
- package/dist/javascript-Dcop9YgO.js.map +1 -0
- package/dist/jinja-CYDaN8cn.js +13 -0
- package/dist/jinja-CYDaN8cn.js.map +1 -0
- package/dist/jison-B8TKZKc6.js +10 -0
- package/dist/jison-B8TKZKc6.js.map +1 -0
- package/dist/json-BONZstWZ.js +8 -0
- package/dist/json-BONZstWZ.js.map +1 -0
- package/dist/json5-C-4cnXW0.js +8 -0
- package/dist/json5-C-4cnXW0.js.map +1 -0
- package/dist/jsonc-CIx6BVP6.js +8 -0
- package/dist/jsonc-CIx6BVP6.js.map +1 -0
- package/dist/jsonl-DFezC0c-.js +8 -0
- package/dist/jsonl-DFezC0c-.js.map +1 -0
- package/dist/jsonnet-CrYiLnuZ.js +8 -0
- package/dist/jsonnet-CrYiLnuZ.js.map +1 -0
- package/dist/jssm-DPqP_6Yy.js +8 -0
- package/dist/jssm-DPqP_6Yy.js.map +1 -0
- package/dist/jsx-Buo8VY2N.js +8 -0
- package/dist/jsx-Buo8VY2N.js.map +1 -0
- package/dist/julia-BGc-upw8.js +18 -0
- package/dist/julia-BGc-upw8.js.map +1 -0
- package/dist/just-Btim_Xbp.js +20 -0
- package/dist/just-Btim_Xbp.js.map +1 -0
- package/dist/kanagawa-dragon-CrRYMC-y.js +6 -0
- package/dist/kanagawa-dragon-CrRYMC-y.js.map +1 -0
- package/dist/kanagawa-lotus-CpAeLZo_.js +6 -0
- package/dist/kanagawa-lotus-CpAeLZo_.js.map +1 -0
- package/dist/kanagawa-wave-DgLnfzgl.js +6 -0
- package/dist/kanagawa-wave-DgLnfzgl.js.map +1 -0
- package/dist/kdl-D5mP0US-.js +8 -0
- package/dist/kdl-D5mP0US-.js.map +1 -0
- package/dist/kotlin-Bj4GXgal.js +8 -0
- package/dist/kotlin-Bj4GXgal.js.map +1 -0
- package/dist/kusto-xKgi3EM3.js +8 -0
- package/dist/kusto-xKgi3EM3.js.map +1 -0
- package/dist/{label-Cd6nCDWj.js → label-ByOtGj7z.js} +2 -2
- package/dist/{label-Cd6nCDWj.js.map → label-ByOtGj7z.js.map} +1 -1
- package/dist/laserwave-DwIE46bX.js +6 -0
- package/dist/laserwave-DwIE46bX.js.map +1 -0
- package/dist/latex-Ba_x0_mo.js +10 -0
- package/dist/latex-Ba_x0_mo.js.map +1 -0
- package/dist/lean-CFZjFqaI.js +8 -0
- package/dist/lean-CFZjFqaI.js.map +1 -0
- package/dist/less-Cah4u9hl.js +8 -0
- package/dist/less-Cah4u9hl.js.map +1 -0
- package/dist/light-plus-uDz5yXau.js +6 -0
- package/dist/light-plus-uDz5yXau.js.map +1 -0
- package/dist/{link-DJq9RWpK.js → link-CfCaX9Ks.js} +2 -2
- package/dist/{link-DJq9RWpK.js.map → link-CfCaX9Ks.js.map} +1 -1
- package/dist/liquid-DUwftMLD.js +16 -0
- package/dist/liquid-DUwftMLD.js.map +1 -0
- package/dist/llvm-p6MskI4D.js +8 -0
- package/dist/llvm-p6MskI4D.js.map +1 -0
- package/dist/log-B-eGB3gN.js +8 -0
- package/dist/log-B-eGB3gN.js.map +1 -0
- package/dist/logo-_QhIaHqR.js +8 -0
- package/dist/logo-_QhIaHqR.js.map +1 -0
- package/dist/lua-DXBtl-xZ.js +10 -0
- package/dist/lua-DXBtl-xZ.js.map +1 -0
- package/dist/luau-cNt0OAd4.js +8 -0
- package/dist/luau-cNt0OAd4.js.map +1 -0
- package/dist/make-LOzELzzn.js +8 -0
- package/dist/make-LOzELzzn.js.map +1 -0
- package/dist/markdown-CPiFXKuQ.js +8 -0
- package/dist/markdown-CPiFXKuQ.js.map +1 -0
- package/dist/marko-B5j5W6dr.js +16 -0
- package/dist/marko-B5j5W6dr.js.map +1 -0
- package/dist/material-theme-BNmHEIvm.js +6 -0
- package/dist/material-theme-BNmHEIvm.js.map +1 -0
- package/dist/material-theme-darker-DSlFkdBn.js +6 -0
- package/dist/material-theme-darker-DSlFkdBn.js.map +1 -0
- package/dist/material-theme-lighter-DMthFo49.js +6 -0
- package/dist/material-theme-lighter-DMthFo49.js.map +1 -0
- package/dist/material-theme-ocean-Bza3srwZ.js +6 -0
- package/dist/material-theme-ocean-Bza3srwZ.js.map +1 -0
- package/dist/material-theme-palenight-cC7823m_.js +6 -0
- package/dist/material-theme-palenight-cC7823m_.js.map +1 -0
- package/dist/matlab-BXc70sGh.js +8 -0
- package/dist/matlab-BXc70sGh.js.map +1 -0
- package/dist/mdc-DIfFG4VK.js +14 -0
- package/dist/mdc-DIfFG4VK.js.map +1 -0
- package/dist/mdx-DDEEGmMw.js +8 -0
- package/dist/mdx-DDEEGmMw.js.map +1 -0
- package/dist/{menubar-Chchzst0.js → menubar-be9R8bE-.js} +14 -14
- package/dist/menubar-be9R8bE-.js.map +1 -0
- package/dist/mermaid-BbhKaiym.js +8 -0
- package/dist/mermaid-BbhKaiym.js.map +1 -0
- package/dist/{meter-Wk7_EhaO.js → meter-CCpXrH8B.js} +4 -4
- package/dist/{meter-Wk7_EhaO.js.map → meter-CCpXrH8B.js.map} +1 -1
- package/dist/min-dark-B2RGEXlR.js +6 -0
- package/dist/min-dark-B2RGEXlR.js.map +1 -0
- package/dist/min-light-CdvDdehu.js +6 -0
- package/dist/min-light-CdvDdehu.js.map +1 -0
- package/dist/mipsasm-A-azREv6.js +8 -0
- package/dist/mipsasm-A-azREv6.js.map +1 -0
- package/dist/mojo-eENZKkWN.js +8 -0
- package/dist/mojo-eENZKkWN.js.map +1 -0
- package/dist/monokai-DfGcBwbw.js +6 -0
- package/dist/monokai-DfGcBwbw.js.map +1 -0
- package/dist/moonbit-OY9Cnyv0.js +8 -0
- package/dist/moonbit-OY9Cnyv0.js.map +1 -0
- package/dist/move-DQ3SUBHm.js +8 -0
- package/dist/move-DQ3SUBHm.js.map +1 -0
- package/dist/narrat-DEs1QMww.js +8 -0
- package/dist/narrat-DEs1QMww.js.map +1 -0
- package/dist/nextflow-BLqoZa2U.js +10 -0
- package/dist/nextflow-BLqoZa2U.js.map +1 -0
- package/dist/nextflow-groovy-sn5GPI4S.js +8 -0
- package/dist/nextflow-groovy-sn5GPI4S.js.map +1 -0
- package/dist/nginx-DV2C2lFg.js +10 -0
- package/dist/nginx-DV2C2lFg.js.map +1 -0
- package/dist/night-owl-Cx4f311z.js +6 -0
- package/dist/night-owl-Cx4f311z.js.map +1 -0
- package/dist/night-owl-light-CFIwPg_e.js +6 -0
- package/dist/night-owl-light-CFIwPg_e.js.map +1 -0
- package/dist/nim-DX5HB9SQ.js +22 -0
- package/dist/nim-DX5HB9SQ.js.map +1 -0
- package/dist/nix-BbTJzn8W.js +11 -0
- package/dist/nix-BbTJzn8W.js.map +1 -0
- package/dist/nord-N4OTOgI2.js +6 -0
- package/dist/nord-N4OTOgI2.js.map +1 -0
- package/dist/nushell-CRsPhsIw.js +8 -0
- package/dist/nushell-CRsPhsIw.js.map +1 -0
- package/dist/objective-c-7VQzYTNs.js +8 -0
- package/dist/objective-c-7VQzYTNs.js.map +1 -0
- package/dist/objective-cpp-C_AHgfC8.js +8 -0
- package/dist/objective-cpp-C_AHgfC8.js.map +1 -0
- package/dist/ocaml-N0gcbB8P.js +8 -0
- package/dist/ocaml-N0gcbB8P.js.map +1 -0
- package/dist/odin-CbArZjV2.js +8 -0
- package/dist/odin-CbArZjV2.js.map +1 -0
- package/dist/one-dark-pro-CFjKUJ8l.js +6 -0
- package/dist/one-dark-pro-CFjKUJ8l.js.map +1 -0
- package/dist/one-light-cHFZvryT.js +6 -0
- package/dist/one-light-cHFZvryT.js.map +1 -0
- package/dist/openscad-9QYZdZML.js +8 -0
- package/dist/openscad-9QYZdZML.js.map +1 -0
- package/dist/pagination-CaHm6TKa.js +220 -0
- package/dist/pagination-CaHm6TKa.js.map +1 -0
- package/dist/pascal-Chee6n3j.js +8 -0
- package/dist/pascal-Chee6n3j.js.map +1 -0
- package/dist/perl-Bo9cWF9y.js +18 -0
- package/dist/perl-Bo9cWF9y.js.map +1 -0
- package/dist/php-Cbqedh5-.js +20 -0
- package/dist/php-Cbqedh5-.js.map +1 -0
- package/dist/pkl-DmRpyJfO.js +8 -0
- package/dist/pkl-DmRpyJfO.js.map +1 -0
- package/dist/plastic-BWaSpRpp.js +6 -0
- package/dist/plastic-BWaSpRpp.js.map +1 -0
- package/dist/plsql-DXyBT3AN.js +8 -0
- package/dist/plsql-DXyBT3AN.js.map +1 -0
- package/dist/po-Duw5KTH-.js +8 -0
- package/dist/po-Duw5KTH-.js.map +1 -0
- package/dist/poimandres-DtrtfOBO.js +6 -0
- package/dist/poimandres-DtrtfOBO.js.map +1 -0
- package/dist/polar-C9ZZjIU6.js +8 -0
- package/dist/polar-C9ZZjIU6.js.map +1 -0
- package/dist/{popover-D20xpmdk.js → popover-CHafAVT6.js} +2 -2
- package/dist/{popover-D20xpmdk.js.map → popover-CHafAVT6.js.map} +1 -1
- package/dist/postcss-D9nF9Ns4.js +8 -0
- package/dist/postcss-D9nF9Ns4.js.map +1 -0
- package/dist/powerquery-Bf1siwRH.js +8 -0
- package/dist/powerquery-Bf1siwRH.js.map +1 -0
- package/dist/powershell-DbLFMYnO.js +8 -0
- package/dist/powershell-DbLFMYnO.js.map +1 -0
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/csp-provider.js +1 -1
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/drawer.js +1 -1
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +1 -1
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +1 -1
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +1 -1
- package/dist/primitives/progress.js +1 -1
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/prisma-DQmdODpM.js +8 -0
- package/dist/prisma-DQmdODpM.js.map +1 -0
- package/dist/prolog-BhDhfNq2.js +8 -0
- package/dist/prolog-BhDhfNq2.js.map +1 -0
- package/dist/proto-8YBPwIZV.js +8 -0
- package/dist/proto-8YBPwIZV.js.map +1 -0
- package/dist/pug-Cd1k_DIC.js +14 -0
- package/dist/pug-Cd1k_DIC.js.map +1 -0
- package/dist/puppet-DWeotfji.js +8 -0
- package/dist/puppet-DWeotfji.js.map +1 -0
- package/dist/purescript-BlRfpTfS.js +8 -0
- package/dist/purescript-BlRfpTfS.js.map +1 -0
- package/dist/python--QhWBEuB.js +8 -0
- package/dist/python--QhWBEuB.js.map +1 -0
- package/dist/qml-D5YeakZo.js +10 -0
- package/dist/qml-D5YeakZo.js.map +1 -0
- package/dist/qmldir-Cvb9I9Hu.js +8 -0
- package/dist/qmldir-Cvb9I9Hu.js.map +1 -0
- package/dist/qss-MOxpdvNy.js +8 -0
- package/dist/qss-MOxpdvNy.js.map +1 -0
- package/dist/r-CPa3sP0i.js +8 -0
- package/dist/r-CPa3sP0i.js.map +1 -0
- package/dist/racket-u4Z5W-hW.js +8 -0
- package/dist/racket-u4Z5W-hW.js.map +1 -0
- package/dist/{radio-ibVa4Y8a.js → radio-DZ1uS-zK.js} +24 -24
- package/dist/{radio-ibVa4Y8a.js.map → radio-DZ1uS-zK.js.map} +1 -1
- package/dist/raku-DD1-d8EI.js +8 -0
- package/dist/raku-DD1-d8EI.js.map +1 -0
- package/dist/razor-CvgW6g5F.js +12 -0
- package/dist/razor-CvgW6g5F.js.map +1 -0
- package/dist/red-nqtx3ZzA.js +6 -0
- package/dist/red-nqtx3ZzA.js.map +1 -0
- package/dist/reg-D39ozI4Z.js +8 -0
- package/dist/reg-D39ozI4Z.js.map +1 -0
- package/dist/regexp-C-mTs3Xt.js +8 -0
- package/dist/regexp-C-mTs3Xt.js.map +1 -0
- package/dist/rel-CvIujmyu.js +8 -0
- package/dist/rel-CvIujmyu.js.map +1 -0
- package/dist/riscv-BDw_rTFU.js +8 -0
- package/dist/riscv-BDw_rTFU.js.map +1 -0
- package/dist/ron-Dr-HoCkP.js +8 -0
- package/dist/ron-Dr-HoCkP.js.map +1 -0
- package/dist/rose-pine-Ca6P34ai.js +6 -0
- package/dist/rose-pine-Ca6P34ai.js.map +1 -0
- package/dist/rose-pine-dawn-CSsyidmk.js +6 -0
- package/dist/rose-pine-dawn-CSsyidmk.js.map +1 -0
- package/dist/rose-pine-moon-DFcWGQ4j.js +6 -0
- package/dist/rose-pine-moon-DFcWGQ4j.js.map +1 -0
- package/dist/rosmsg-D3QLmOd5.js +8 -0
- package/dist/rosmsg-D3QLmOd5.js.map +1 -0
- package/dist/rst-BVJfTGcR.js +24 -0
- package/dist/rst-BVJfTGcR.js.map +1 -0
- package/dist/ruby-0gZcrdnG.js +32 -0
- package/dist/ruby-0gZcrdnG.js.map +1 -0
- package/dist/rust-CiVdiDo-.js +8 -0
- package/dist/rust-CiVdiDo-.js.map +1 -0
- package/dist/sas-Df_jutC7.js +10 -0
- package/dist/sas-Df_jutC7.js.map +1 -0
- package/dist/sass-CnN1LcIf.js +8 -0
- package/dist/sass-CnN1LcIf.js.map +1 -0
- package/dist/scala-D_7p1-Ff.js +8 -0
- package/dist/scala-D_7p1-Ff.js.map +1 -0
- package/dist/scheme-kuKKlndT.js +8 -0
- package/dist/scheme-kuKKlndT.js.map +1 -0
- package/dist/scripts/theme-generator/config.d.ts +6 -0
- package/dist/scripts/theme-generator/config.d.ts.map +1 -0
- package/dist/scripts/theme-generator/config.js +394 -0
- package/dist/scripts/theme-generator/config.js.map +1 -0
- package/dist/scripts/theme-generator/generate-css.d.ts +31 -0
- package/dist/scripts/theme-generator/generate-css.d.ts.map +1 -0
- package/dist/scripts/theme-generator/index.d.ts +13 -0
- package/dist/scripts/theme-generator/index.d.ts.map +1 -0
- package/dist/scripts/theme-generator/migrate.d.ts +56 -0
- package/dist/scripts/theme-generator/migrate.d.ts.map +1 -0
- package/dist/scripts/theme-generator/types.d.ts +76 -0
- package/dist/scripts/theme-generator/types.d.ts.map +1 -0
- package/dist/scripts/theme-generator/types.js +2 -0
- package/dist/scripts/theme-generator/types.js.map +1 -0
- package/dist/scss-Cnx3ZIbn.js +10 -0
- package/dist/scss-Cnx3ZIbn.js.map +1 -0
- package/dist/sdbl-C99B6EXT.js +8 -0
- package/dist/sdbl-C99B6EXT.js.map +1 -0
- package/dist/select-BXZAlFAV.js +113 -0
- package/dist/select-BXZAlFAV.js.map +1 -0
- package/dist/{sensitive-input-DHDRZRC7.js → sensitive-input-CI-gtdfw.js} +4 -4
- package/dist/{sensitive-input-DHDRZRC7.js.map → sensitive-input-CI-gtdfw.js.map} +1 -1
- package/dist/shaderlab-r5kupfNY.js +10 -0
- package/dist/shaderlab-r5kupfNY.js.map +1 -0
- package/dist/shellscript-C9yrawww.js +8 -0
- package/dist/shellscript-C9yrawww.js.map +1 -0
- package/dist/shellsession-Vfxwd5pt.js +10 -0
- package/dist/shellsession-Vfxwd5pt.js.map +1 -0
- package/dist/slack-dark-DPwE-fTd.js +6 -0
- package/dist/slack-dark-DPwE-fTd.js.map +1 -0
- package/dist/slack-ochin-XQpb-bu3.js +6 -0
- package/dist/slack-ochin-XQpb-bu3.js.map +1 -0
- package/dist/smalltalk-DBHjpWnU.js +8 -0
- package/dist/smalltalk-DBHjpWnU.js.map +1 -0
- package/dist/snazzy-light-B301-rZ_.js +6 -0
- package/dist/snazzy-light-B301-rZ_.js.map +1 -0
- package/dist/solarized-dark-Bmasqmd6.js +6 -0
- package/dist/solarized-dark-Bmasqmd6.js.map +1 -0
- package/dist/solarized-light-D79sTVew.js +6 -0
- package/dist/solarized-light-D79sTVew.js.map +1 -0
- package/dist/solidity-DiELThdT.js +8 -0
- package/dist/solidity-DiELThdT.js.map +1 -0
- package/dist/soy-JFzJcdvc.js +10 -0
- package/dist/soy-JFzJcdvc.js.map +1 -0
- package/dist/sparql-DFkbfk9m.js +10 -0
- package/dist/sparql-DFkbfk9m.js.map +1 -0
- package/dist/splunk-D_3lOa0g.js +8 -0
- package/dist/splunk-D_3lOa0g.js.map +1 -0
- package/dist/sql-BUQKMpen.js +8 -0
- package/dist/sql-BUQKMpen.js.map +1 -0
- package/dist/src/code/code-highlighted.d.ts +32 -0
- package/dist/src/code/code-highlighted.d.ts.map +1 -0
- package/dist/src/code/context.d.ts +16 -0
- package/dist/src/code/context.d.ts.map +1 -0
- package/dist/src/code/index.d.ts +31 -0
- package/dist/src/code/index.d.ts.map +1 -0
- package/dist/src/code/provider.d.ts +7 -0
- package/dist/src/code/provider.d.ts.map +1 -0
- package/dist/src/code/server.d.ts +96 -0
- package/dist/src/code/server.d.ts.map +1 -0
- package/dist/src/code/types.d.ts +89 -0
- package/dist/src/code/types.d.ts.map +1 -0
- package/dist/src/code/use-shiki-highlighter.d.ts +36 -0
- package/dist/src/code/use-shiki-highlighter.d.ts.map +1 -0
- package/dist/src/command-line/commands/add.d.ts.map +1 -1
- package/dist/src/components/badge/badge.d.ts +4 -0
- package/dist/src/components/badge/badge.d.ts.map +1 -1
- package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
- package/dist/src/components/chart/Color.d.ts +96 -0
- package/dist/src/components/chart/Color.d.ts.map +1 -0
- package/dist/src/components/chart/EChart.d.ts +130 -0
- package/dist/src/components/chart/EChart.d.ts.map +1 -0
- package/dist/src/components/chart/Legend.d.ts +42 -0
- package/dist/src/components/chart/Legend.d.ts.map +1 -0
- package/dist/src/components/chart/TimeseriesChart.d.ts +94 -0
- package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -0
- package/dist/src/components/chart/index.d.ts +5 -0
- package/dist/src/components/chart/index.d.ts.map +1 -0
- package/dist/src/components/code/code.d.ts +19 -0
- package/dist/src/components/code/code.d.ts.map +1 -1
- package/dist/src/components/combobox/combobox.d.ts +33 -2
- package/dist/src/components/combobox/combobox.d.ts.map +1 -1
- package/dist/src/components/dialog/dialog.d.ts +41 -2
- package/dist/src/components/dialog/dialog.d.ts.map +1 -1
- package/dist/src/components/flow/diagram.d.ts +8 -0
- package/dist/src/components/flow/diagram.d.ts.map +1 -1
- package/dist/src/components/flow/use-children.d.ts +8 -1
- package/dist/src/components/flow/use-children.d.ts.map +1 -1
- package/dist/src/components/pagination/pagination.d.ts.map +1 -1
- package/dist/src/components/select/select.d.ts.map +1 -1
- package/dist/src/components/table/table.d.ts +3 -1
- package/dist/src/components/table/table.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/ssh-config-DNaBVjVu.js +8 -0
- package/dist/ssh-config-DNaBVjVu.js.map +1 -0
- package/dist/stata-DLB0gsgJ.js +10 -0
- package/dist/stata-DLB0gsgJ.js.map +1 -0
- package/dist/styles/kumo-binding.css +12 -0
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/styles/kumo.css +67 -0
- package/dist/styles/theme-kumo.css +11 -1
- package/dist/stylus-D51fN9sH.js +8 -0
- package/dist/stylus-D51fN9sH.js.map +1 -0
- package/dist/surrealql-sFzY-ODM.js +10 -0
- package/dist/surrealql-sFzY-ODM.js.map +1 -0
- package/dist/svelte-CvDgWedh.js +16 -0
- package/dist/svelte-CvDgWedh.js.map +1 -0
- package/dist/swift-DwwnjRI-.js +8 -0
- package/dist/swift-DwwnjRI-.js.map +1 -0
- package/dist/{switch-DrbaX2iC.js → switch-BxnAwAse.js} +3 -3
- package/dist/{switch-DrbaX2iC.js.map → switch-BxnAwAse.js.map} +1 -1
- package/dist/synthwave-84-H0OiUA6S.js +6 -0
- package/dist/synthwave-84-H0OiUA6S.js.map +1 -0
- package/dist/system-verilog-Crpmwi64.js +8 -0
- package/dist/system-verilog-Crpmwi64.js.map +1 -0
- package/dist/systemd-DpPksTVO.js +8 -0
- package/dist/systemd-DpPksTVO.js.map +1 -0
- package/dist/{table-CH9KC36S.js → table-CdcsAm5X.js} +39 -33
- package/dist/table-CdcsAm5X.js.map +1 -0
- package/dist/{tabs-B-Fxc6Zo.js → tabs-Cf12PXHz.js} +6 -6
- package/dist/tabs-Cf12PXHz.js.map +1 -0
- package/dist/talonscript-C0B9tdh0.js +8 -0
- package/dist/talonscript-C0B9tdh0.js.map +1 -0
- package/dist/tasl-De-6_1ux.js +8 -0
- package/dist/tasl-De-6_1ux.js.map +1 -0
- package/dist/tcl-tdOXVFhT.js +8 -0
- package/dist/tcl-tdOXVFhT.js.map +1 -0
- package/dist/templ-D3k0ETqq.js +14 -0
- package/dist/templ-D3k0ETqq.js.map +1 -0
- package/dist/terraform-C65cvXJK.js +8 -0
- package/dist/terraform-C65cvXJK.js.map +1 -0
- package/dist/tex-4pYKQzZ9.js +10 -0
- package/dist/tex-4pYKQzZ9.js.map +1 -0
- package/dist/{toast-DUYp3EtH.js → toast-BzvG5cpW.js} +7 -7
- package/dist/{toast-DUYp3EtH.js.map → toast-BzvG5cpW.js.map} +1 -1
- package/dist/tokyo-night-BcIcd5FP.js +6 -0
- package/dist/tokyo-night-BcIcd5FP.js.map +1 -0
- package/dist/toml-BTLaxjFB.js +8 -0
- package/dist/toml-BTLaxjFB.js.map +1 -0
- package/dist/{tooltip-D-KwZQDV.js → tooltip-2KqOpTj0.js} +2 -2
- package/dist/{tooltip-D-KwZQDV.js.map → tooltip-2KqOpTj0.js.map} +1 -1
- package/dist/ts-tags-DeeA5bAv.js +43 -0
- package/dist/ts-tags-DeeA5bAv.js.map +1 -0
- package/dist/tsv-BSiNlNds.js +8 -0
- package/dist/tsv-BSiNlNds.js.map +1 -0
- package/dist/tsx-1QZ5GNk-.js +8 -0
- package/dist/tsx-1QZ5GNk-.js.map +1 -0
- package/dist/turtle-B1Pzn5av.js +8 -0
- package/dist/turtle-B1Pzn5av.js.map +1 -0
- package/dist/twig-C2HueQmu.js +20 -0
- package/dist/twig-C2HueQmu.js.map +1 -0
- package/dist/typescript-CLMZXfG9.js +8 -0
- package/dist/typescript-CLMZXfG9.js.map +1 -0
- package/dist/typespec-C5gqdlO4.js +8 -0
- package/dist/typespec-C5gqdlO4.js.map +1 -0
- package/dist/typst-pX4dU_Sd.js +8 -0
- package/dist/typst-pX4dU_Sd.js.map +1 -0
- package/dist/v-C_UlMRpP.js +8 -0
- package/dist/v-C_UlMRpP.js.map +1 -0
- package/dist/vala-B0RfnRiT.js +8 -0
- package/dist/vala-B0RfnRiT.js.map +1 -0
- package/dist/vb-DYbmUkLw.js +8 -0
- package/dist/vb-DYbmUkLw.js.map +1 -0
- package/dist/{vendor-base-ui-Bsg5ebHI.js → vendor-base-ui-DvXlzG7n.js} +260 -259
- package/dist/{vendor-base-ui-Bsg5ebHI.js.map → vendor-base-ui-DvXlzG7n.js.map} +1 -1
- package/dist/verilog-BUqLwf8h.js +8 -0
- package/dist/verilog-BUqLwf8h.js.map +1 -0
- package/dist/vesper-BW8Q9P3p.js +6 -0
- package/dist/vesper-BW8Q9P3p.js.map +1 -0
- package/dist/vhdl-e6zXgkQJ.js +8 -0
- package/dist/vhdl-e6zXgkQJ.js.map +1 -0
- package/dist/viml-Bw7DMabC.js +8 -0
- package/dist/viml-Bw7DMabC.js.map +1 -0
- package/dist/vitesse-black-BBGvp4RB.js +6 -0
- package/dist/vitesse-black-BBGvp4RB.js.map +1 -0
- package/dist/vitesse-dark-qcbI9VBy.js +6 -0
- package/dist/vitesse-dark-qcbI9VBy.js.map +1 -0
- package/dist/vitesse-light-BL2wQDaR.js +6 -0
- package/dist/vitesse-light-BL2wQDaR.js.map +1 -0
- package/dist/vue-DKeMdoTK.js +33 -0
- package/dist/vue-DKeMdoTK.js.map +1 -0
- package/dist/vue-html-CEfeAKp2.js +10 -0
- package/dist/vue-html-CEfeAKp2.js.map +1 -0
- package/dist/vue-vine-CjuPBhXu.js +20 -0
- package/dist/vue-vine-CjuPBhXu.js.map +1 -0
- package/dist/vyper-Dc9KcbZ_.js +8 -0
- package/dist/vyper-Dc9KcbZ_.js.map +1 -0
- package/dist/wasm-Bae8j78o.js +8 -0
- package/dist/wasm-Bae8j78o.js.map +1 -0
- package/dist/wasm-D5B682Xt.js +9 -0
- package/dist/wasm-D5B682Xt.js.map +1 -0
- package/dist/wenyan-j7Mu9-Zf.js +8 -0
- package/dist/wenyan-j7Mu9-Zf.js.map +1 -0
- package/dist/wgsl-DEgz941F.js +8 -0
- package/dist/wgsl-DEgz941F.js.map +1 -0
- package/dist/wikitext-CFdiH6zG.js +8 -0
- package/dist/wikitext-CFdiH6zG.js.map +1 -0
- package/dist/wit-CQDxIROw.js +8 -0
- package/dist/wit-CQDxIROw.js.map +1 -0
- package/dist/wolfram-BkETUL8d.js +8 -0
- package/dist/wolfram-BkETUL8d.js.map +1 -0
- package/dist/xml-CKSarKBc.js +10 -0
- package/dist/xml-CKSarKBc.js.map +1 -0
- package/dist/xsl-oImqe_65.js +10 -0
- package/dist/xsl-oImqe_65.js.map +1 -0
- package/dist/yaml-CqFcuW2H.js +8 -0
- package/dist/yaml-CqFcuW2H.js.map +1 -0
- package/dist/zenscript-DfbVeZ74.js +8 -0
- package/dist/zenscript-DfbVeZ74.js.map +1 -0
- package/dist/zig--LeFnMpj.js +8 -0
- package/dist/zig--LeFnMpj.js.map +1 -0
- package/package.json +33 -10
- package/scripts/css-build.ts +5 -1
- package/scripts/theme-generator/config.ts +19 -1
- package/dist/badge-Dc99vsfo.js.map +0 -1
- package/dist/breadcrumbs-DyKi7BcP.js +0 -132
- package/dist/breadcrumbs-DyKi7BcP.js.map +0 -1
- package/dist/checkbox-CfFoTNFI.js.map +0 -1
- package/dist/clipboard-text-1d0rHIhb.js.map +0 -1
- package/dist/combobox-vnvi22pn.js +0 -250
- package/dist/combobox-vnvi22pn.js.map +0 -1
- package/dist/command-palette-B80cqB7K.js.map +0 -1
- package/dist/dialog-C4BIM-74.js +0 -97
- package/dist/dialog-C4BIM-74.js.map +0 -1
- package/dist/input-group-BbaVpJnA.js.map +0 -1
- package/dist/menubar-Chchzst0.js.map +0 -1
- package/dist/pagination-DFHoZwPJ.js +0 -208
- package/dist/pagination-DFHoZwPJ.js.map +0 -1
- package/dist/schemas-CdpAeJKO.js.map +0 -1
- package/dist/select-DtcT1zGm.js +0 -122
- package/dist/select-DtcT1zGm.js.map +0 -1
- package/dist/table-CH9KC36S.js.map +0 -1
- package/dist/tabs-B-Fxc6Zo.js.map +0 -1
- /package/dist/{src/blocks → blocks-source}/delete-resource/delete-resource.tsx +0 -0
- /package/dist/{src/blocks → blocks-source}/page-header/page-header.tsx +0 -0
- /package/dist/{src/blocks → blocks-source}/resource-list/resource-list.test.tsx +0 -0
- /package/dist/{src/blocks → blocks-source}/resource-list/resource-list.tsx +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-yfbAkHut.js","sources":["../../../node_modules/.pnpm/shiki@4.0.0/node_modules/shiki/dist/langs-bundle-full-CQWtMIqW.mjs","../../../node_modules/.pnpm/shiki@4.0.0/node_modules/shiki/dist/themes.mjs","../../../node_modules/.pnpm/@shikijs+types@4.0.0/node_modules/@shikijs/types/dist/index.mjs","../../../node_modules/.pnpm/@shikijs+vscode-textmate@10.0.2/node_modules/@shikijs/vscode-textmate/dist/index.js","../../../node_modules/.pnpm/@shikijs+primitive@4.0.0/node_modules/@shikijs/primitive/dist/index.mjs","../../../node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/schema.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/merge.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/normalize.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/info.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/types.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/defined-info.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/create.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/aria.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/html.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/svg.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xlink.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xmlns.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xml.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/find.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.js","../../../node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js","../../../node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js","../../../node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js","../../../node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js","../../../node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js","../../../node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js","../../../node_modules/.pnpm/@shikijs+core@4.0.0/node_modules/@shikijs/core/dist/index.mjs","../../../node_modules/.pnpm/shiki@4.0.0/node_modules/shiki/dist/bundle-full.mjs","../../../node_modules/.pnpm/shiki@4.0.0/node_modules/shiki/dist/index.mjs"],"sourcesContent":["//#region src/langs-bundle-full.ts\nconst bundledLanguagesInfo = [\n\t{\n\t\t\"id\": \"abap\",\n\t\t\"name\": \"ABAP\",\n\t\t\"import\": (() => import(\"@shikijs/langs/abap\"))\n\t},\n\t{\n\t\t\"id\": \"actionscript-3\",\n\t\t\"name\": \"ActionScript\",\n\t\t\"import\": (() => import(\"@shikijs/langs/actionscript-3\"))\n\t},\n\t{\n\t\t\"id\": \"ada\",\n\t\t\"name\": \"Ada\",\n\t\t\"import\": (() => import(\"@shikijs/langs/ada\"))\n\t},\n\t{\n\t\t\"id\": \"angular-html\",\n\t\t\"name\": \"Angular HTML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/angular-html\"))\n\t},\n\t{\n\t\t\"id\": \"angular-ts\",\n\t\t\"name\": \"Angular TypeScript\",\n\t\t\"import\": (() => import(\"@shikijs/langs/angular-ts\"))\n\t},\n\t{\n\t\t\"id\": \"apache\",\n\t\t\"name\": \"Apache Conf\",\n\t\t\"import\": (() => import(\"@shikijs/langs/apache\"))\n\t},\n\t{\n\t\t\"id\": \"apex\",\n\t\t\"name\": \"Apex\",\n\t\t\"import\": (() => import(\"@shikijs/langs/apex\"))\n\t},\n\t{\n\t\t\"id\": \"apl\",\n\t\t\"name\": \"APL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/apl\"))\n\t},\n\t{\n\t\t\"id\": \"applescript\",\n\t\t\"name\": \"AppleScript\",\n\t\t\"import\": (() => import(\"@shikijs/langs/applescript\"))\n\t},\n\t{\n\t\t\"id\": \"ara\",\n\t\t\"name\": \"Ara\",\n\t\t\"import\": (() => import(\"@shikijs/langs/ara\"))\n\t},\n\t{\n\t\t\"id\": \"asciidoc\",\n\t\t\"name\": \"AsciiDoc\",\n\t\t\"aliases\": [\"adoc\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/asciidoc\"))\n\t},\n\t{\n\t\t\"id\": \"asm\",\n\t\t\"name\": \"Assembly\",\n\t\t\"import\": (() => import(\"@shikijs/langs/asm\"))\n\t},\n\t{\n\t\t\"id\": \"astro\",\n\t\t\"name\": \"Astro\",\n\t\t\"import\": (() => import(\"@shikijs/langs/astro\"))\n\t},\n\t{\n\t\t\"id\": \"awk\",\n\t\t\"name\": \"AWK\",\n\t\t\"import\": (() => import(\"@shikijs/langs/awk\"))\n\t},\n\t{\n\t\t\"id\": \"ballerina\",\n\t\t\"name\": \"Ballerina\",\n\t\t\"import\": (() => import(\"@shikijs/langs/ballerina\"))\n\t},\n\t{\n\t\t\"id\": \"bat\",\n\t\t\"name\": \"Batch File\",\n\t\t\"aliases\": [\"batch\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/bat\"))\n\t},\n\t{\n\t\t\"id\": \"beancount\",\n\t\t\"name\": \"Beancount\",\n\t\t\"import\": (() => import(\"@shikijs/langs/beancount\"))\n\t},\n\t{\n\t\t\"id\": \"berry\",\n\t\t\"name\": \"Berry\",\n\t\t\"aliases\": [\"be\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/berry\"))\n\t},\n\t{\n\t\t\"id\": \"bibtex\",\n\t\t\"name\": \"BibTeX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/bibtex\"))\n\t},\n\t{\n\t\t\"id\": \"bicep\",\n\t\t\"name\": \"Bicep\",\n\t\t\"import\": (() => import(\"@shikijs/langs/bicep\"))\n\t},\n\t{\n\t\t\"id\": \"bird2\",\n\t\t\"name\": \"BIRD2 Configuration\",\n\t\t\"aliases\": [\"bird\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/bird2\"))\n\t},\n\t{\n\t\t\"id\": \"blade\",\n\t\t\"name\": \"Blade\",\n\t\t\"import\": (() => import(\"@shikijs/langs/blade\"))\n\t},\n\t{\n\t\t\"id\": \"bsl\",\n\t\t\"name\": \"1C (Enterprise)\",\n\t\t\"aliases\": [\"1c\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/bsl\"))\n\t},\n\t{\n\t\t\"id\": \"c\",\n\t\t\"name\": \"C\",\n\t\t\"import\": (() => import(\"@shikijs/langs/c\"))\n\t},\n\t{\n\t\t\"id\": \"c3\",\n\t\t\"name\": \"C3\",\n\t\t\"import\": (() => import(\"@shikijs/langs/c3\"))\n\t},\n\t{\n\t\t\"id\": \"cadence\",\n\t\t\"name\": \"Cadence\",\n\t\t\"aliases\": [\"cdc\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/cadence\"))\n\t},\n\t{\n\t\t\"id\": \"cairo\",\n\t\t\"name\": \"Cairo\",\n\t\t\"import\": (() => import(\"@shikijs/langs/cairo\"))\n\t},\n\t{\n\t\t\"id\": \"clarity\",\n\t\t\"name\": \"Clarity\",\n\t\t\"import\": (() => import(\"@shikijs/langs/clarity\"))\n\t},\n\t{\n\t\t\"id\": \"clojure\",\n\t\t\"name\": \"Clojure\",\n\t\t\"aliases\": [\"clj\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/clojure\"))\n\t},\n\t{\n\t\t\"id\": \"cmake\",\n\t\t\"name\": \"CMake\",\n\t\t\"import\": (() => import(\"@shikijs/langs/cmake\"))\n\t},\n\t{\n\t\t\"id\": \"cobol\",\n\t\t\"name\": \"COBOL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/cobol\"))\n\t},\n\t{\n\t\t\"id\": \"codeowners\",\n\t\t\"name\": \"CODEOWNERS\",\n\t\t\"import\": (() => import(\"@shikijs/langs/codeowners\"))\n\t},\n\t{\n\t\t\"id\": \"codeql\",\n\t\t\"name\": \"CodeQL\",\n\t\t\"aliases\": [\"ql\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/codeql\"))\n\t},\n\t{\n\t\t\"id\": \"coffee\",\n\t\t\"name\": \"CoffeeScript\",\n\t\t\"aliases\": [\"coffeescript\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/coffee\"))\n\t},\n\t{\n\t\t\"id\": \"common-lisp\",\n\t\t\"name\": \"Common Lisp\",\n\t\t\"aliases\": [\"lisp\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/common-lisp\"))\n\t},\n\t{\n\t\t\"id\": \"coq\",\n\t\t\"name\": \"Coq\",\n\t\t\"import\": (() => import(\"@shikijs/langs/coq\"))\n\t},\n\t{\n\t\t\"id\": \"cpp\",\n\t\t\"name\": \"C++\",\n\t\t\"aliases\": [\"c++\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/cpp\"))\n\t},\n\t{\n\t\t\"id\": \"crystal\",\n\t\t\"name\": \"Crystal\",\n\t\t\"import\": (() => import(\"@shikijs/langs/crystal\"))\n\t},\n\t{\n\t\t\"id\": \"csharp\",\n\t\t\"name\": \"C#\",\n\t\t\"aliases\": [\"c#\", \"cs\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/csharp\"))\n\t},\n\t{\n\t\t\"id\": \"css\",\n\t\t\"name\": \"CSS\",\n\t\t\"import\": (() => import(\"@shikijs/langs/css\"))\n\t},\n\t{\n\t\t\"id\": \"csv\",\n\t\t\"name\": \"CSV\",\n\t\t\"import\": (() => import(\"@shikijs/langs/csv\"))\n\t},\n\t{\n\t\t\"id\": \"cue\",\n\t\t\"name\": \"CUE\",\n\t\t\"import\": (() => import(\"@shikijs/langs/cue\"))\n\t},\n\t{\n\t\t\"id\": \"cypher\",\n\t\t\"name\": \"Cypher\",\n\t\t\"aliases\": [\"cql\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/cypher\"))\n\t},\n\t{\n\t\t\"id\": \"d\",\n\t\t\"name\": \"D\",\n\t\t\"import\": (() => import(\"@shikijs/langs/d\"))\n\t},\n\t{\n\t\t\"id\": \"dart\",\n\t\t\"name\": \"Dart\",\n\t\t\"import\": (() => import(\"@shikijs/langs/dart\"))\n\t},\n\t{\n\t\t\"id\": \"dax\",\n\t\t\"name\": \"DAX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/dax\"))\n\t},\n\t{\n\t\t\"id\": \"desktop\",\n\t\t\"name\": \"Desktop\",\n\t\t\"import\": (() => import(\"@shikijs/langs/desktop\"))\n\t},\n\t{\n\t\t\"id\": \"diff\",\n\t\t\"name\": \"Diff\",\n\t\t\"import\": (() => import(\"@shikijs/langs/diff\"))\n\t},\n\t{\n\t\t\"id\": \"docker\",\n\t\t\"name\": \"Dockerfile\",\n\t\t\"aliases\": [\"dockerfile\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/docker\"))\n\t},\n\t{\n\t\t\"id\": \"dotenv\",\n\t\t\"name\": \"dotEnv\",\n\t\t\"import\": (() => import(\"@shikijs/langs/dotenv\"))\n\t},\n\t{\n\t\t\"id\": \"dream-maker\",\n\t\t\"name\": \"Dream Maker\",\n\t\t\"import\": (() => import(\"@shikijs/langs/dream-maker\"))\n\t},\n\t{\n\t\t\"id\": \"edge\",\n\t\t\"name\": \"Edge\",\n\t\t\"import\": (() => import(\"@shikijs/langs/edge\"))\n\t},\n\t{\n\t\t\"id\": \"elixir\",\n\t\t\"name\": \"Elixir\",\n\t\t\"import\": (() => import(\"@shikijs/langs/elixir\"))\n\t},\n\t{\n\t\t\"id\": \"elm\",\n\t\t\"name\": \"Elm\",\n\t\t\"import\": (() => import(\"@shikijs/langs/elm\"))\n\t},\n\t{\n\t\t\"id\": \"emacs-lisp\",\n\t\t\"name\": \"Emacs Lisp\",\n\t\t\"aliases\": [\"elisp\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/emacs-lisp\"))\n\t},\n\t{\n\t\t\"id\": \"erb\",\n\t\t\"name\": \"ERB\",\n\t\t\"import\": (() => import(\"@shikijs/langs/erb\"))\n\t},\n\t{\n\t\t\"id\": \"erlang\",\n\t\t\"name\": \"Erlang\",\n\t\t\"aliases\": [\"erl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/erlang\"))\n\t},\n\t{\n\t\t\"id\": \"fennel\",\n\t\t\"name\": \"Fennel\",\n\t\t\"import\": (() => import(\"@shikijs/langs/fennel\"))\n\t},\n\t{\n\t\t\"id\": \"fish\",\n\t\t\"name\": \"Fish\",\n\t\t\"import\": (() => import(\"@shikijs/langs/fish\"))\n\t},\n\t{\n\t\t\"id\": \"fluent\",\n\t\t\"name\": \"Fluent\",\n\t\t\"aliases\": [\"ftl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/fluent\"))\n\t},\n\t{\n\t\t\"id\": \"fortran-fixed-form\",\n\t\t\"name\": \"Fortran (Fixed Form)\",\n\t\t\"aliases\": [\n\t\t\t\"f\",\n\t\t\t\"for\",\n\t\t\t\"f77\"\n\t\t],\n\t\t\"import\": (() => import(\"@shikijs/langs/fortran-fixed-form\"))\n\t},\n\t{\n\t\t\"id\": \"fortran-free-form\",\n\t\t\"name\": \"Fortran (Free Form)\",\n\t\t\"aliases\": [\n\t\t\t\"f90\",\n\t\t\t\"f95\",\n\t\t\t\"f03\",\n\t\t\t\"f08\",\n\t\t\t\"f18\"\n\t\t],\n\t\t\"import\": (() => import(\"@shikijs/langs/fortran-free-form\"))\n\t},\n\t{\n\t\t\"id\": \"fsharp\",\n\t\t\"name\": \"F#\",\n\t\t\"aliases\": [\"f#\", \"fs\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/fsharp\"))\n\t},\n\t{\n\t\t\"id\": \"gdresource\",\n\t\t\"name\": \"GDResource\",\n\t\t\"aliases\": [\"tscn\", \"tres\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/gdresource\"))\n\t},\n\t{\n\t\t\"id\": \"gdscript\",\n\t\t\"name\": \"GDScript\",\n\t\t\"aliases\": [\"gd\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/gdscript\"))\n\t},\n\t{\n\t\t\"id\": \"gdshader\",\n\t\t\"name\": \"GDShader\",\n\t\t\"import\": (() => import(\"@shikijs/langs/gdshader\"))\n\t},\n\t{\n\t\t\"id\": \"genie\",\n\t\t\"name\": \"Genie\",\n\t\t\"import\": (() => import(\"@shikijs/langs/genie\"))\n\t},\n\t{\n\t\t\"id\": \"gherkin\",\n\t\t\"name\": \"Gherkin\",\n\t\t\"import\": (() => import(\"@shikijs/langs/gherkin\"))\n\t},\n\t{\n\t\t\"id\": \"git-commit\",\n\t\t\"name\": \"Git Commit Message\",\n\t\t\"import\": (() => import(\"@shikijs/langs/git-commit\"))\n\t},\n\t{\n\t\t\"id\": \"git-rebase\",\n\t\t\"name\": \"Git Rebase Message\",\n\t\t\"import\": (() => import(\"@shikijs/langs/git-rebase\"))\n\t},\n\t{\n\t\t\"id\": \"gleam\",\n\t\t\"name\": \"Gleam\",\n\t\t\"import\": (() => import(\"@shikijs/langs/gleam\"))\n\t},\n\t{\n\t\t\"id\": \"glimmer-js\",\n\t\t\"name\": \"Glimmer JS\",\n\t\t\"aliases\": [\"gjs\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/glimmer-js\"))\n\t},\n\t{\n\t\t\"id\": \"glimmer-ts\",\n\t\t\"name\": \"Glimmer TS\",\n\t\t\"aliases\": [\"gts\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/glimmer-ts\"))\n\t},\n\t{\n\t\t\"id\": \"glsl\",\n\t\t\"name\": \"GLSL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/glsl\"))\n\t},\n\t{\n\t\t\"id\": \"gn\",\n\t\t\"name\": \"GN\",\n\t\t\"import\": (() => import(\"@shikijs/langs/gn\"))\n\t},\n\t{\n\t\t\"id\": \"gnuplot\",\n\t\t\"name\": \"Gnuplot\",\n\t\t\"import\": (() => import(\"@shikijs/langs/gnuplot\"))\n\t},\n\t{\n\t\t\"id\": \"go\",\n\t\t\"name\": \"Go\",\n\t\t\"import\": (() => import(\"@shikijs/langs/go\"))\n\t},\n\t{\n\t\t\"id\": \"graphql\",\n\t\t\"name\": \"GraphQL\",\n\t\t\"aliases\": [\"gql\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/graphql\"))\n\t},\n\t{\n\t\t\"id\": \"groovy\",\n\t\t\"name\": \"Groovy\",\n\t\t\"import\": (() => import(\"@shikijs/langs/groovy\"))\n\t},\n\t{\n\t\t\"id\": \"hack\",\n\t\t\"name\": \"Hack\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hack\"))\n\t},\n\t{\n\t\t\"id\": \"haml\",\n\t\t\"name\": \"Ruby Haml\",\n\t\t\"import\": (() => import(\"@shikijs/langs/haml\"))\n\t},\n\t{\n\t\t\"id\": \"handlebars\",\n\t\t\"name\": \"Handlebars\",\n\t\t\"aliases\": [\"hbs\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/handlebars\"))\n\t},\n\t{\n\t\t\"id\": \"haskell\",\n\t\t\"name\": \"Haskell\",\n\t\t\"aliases\": [\"hs\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/haskell\"))\n\t},\n\t{\n\t\t\"id\": \"haxe\",\n\t\t\"name\": \"Haxe\",\n\t\t\"import\": (() => import(\"@shikijs/langs/haxe\"))\n\t},\n\t{\n\t\t\"id\": \"hcl\",\n\t\t\"name\": \"HashiCorp HCL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hcl\"))\n\t},\n\t{\n\t\t\"id\": \"hjson\",\n\t\t\"name\": \"Hjson\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hjson\"))\n\t},\n\t{\n\t\t\"id\": \"hlsl\",\n\t\t\"name\": \"HLSL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hlsl\"))\n\t},\n\t{\n\t\t\"id\": \"html\",\n\t\t\"name\": \"HTML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/html\"))\n\t},\n\t{\n\t\t\"id\": \"html-derivative\",\n\t\t\"name\": \"HTML (Derivative)\",\n\t\t\"import\": (() => import(\"@shikijs/langs/html-derivative\"))\n\t},\n\t{\n\t\t\"id\": \"http\",\n\t\t\"name\": \"HTTP\",\n\t\t\"import\": (() => import(\"@shikijs/langs/http\"))\n\t},\n\t{\n\t\t\"id\": \"hurl\",\n\t\t\"name\": \"Hurl\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hurl\"))\n\t},\n\t{\n\t\t\"id\": \"hxml\",\n\t\t\"name\": \"HXML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hxml\"))\n\t},\n\t{\n\t\t\"id\": \"hy\",\n\t\t\"name\": \"Hy\",\n\t\t\"import\": (() => import(\"@shikijs/langs/hy\"))\n\t},\n\t{\n\t\t\"id\": \"imba\",\n\t\t\"name\": \"Imba\",\n\t\t\"import\": (() => import(\"@shikijs/langs/imba\"))\n\t},\n\t{\n\t\t\"id\": \"ini\",\n\t\t\"name\": \"INI\",\n\t\t\"aliases\": [\"properties\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/ini\"))\n\t},\n\t{\n\t\t\"id\": \"java\",\n\t\t\"name\": \"Java\",\n\t\t\"import\": (() => import(\"@shikijs/langs/java\"))\n\t},\n\t{\n\t\t\"id\": \"javascript\",\n\t\t\"name\": \"JavaScript\",\n\t\t\"aliases\": [\n\t\t\t\"js\",\n\t\t\t\"cjs\",\n\t\t\t\"mjs\"\n\t\t],\n\t\t\"import\": (() => import(\"@shikijs/langs/javascript\"))\n\t},\n\t{\n\t\t\"id\": \"jinja\",\n\t\t\"name\": \"Jinja\",\n\t\t\"import\": (() => import(\"@shikijs/langs/jinja\"))\n\t},\n\t{\n\t\t\"id\": \"jison\",\n\t\t\"name\": \"Jison\",\n\t\t\"import\": (() => import(\"@shikijs/langs/jison\"))\n\t},\n\t{\n\t\t\"id\": \"json\",\n\t\t\"name\": \"JSON\",\n\t\t\"import\": (() => import(\"@shikijs/langs/json\"))\n\t},\n\t{\n\t\t\"id\": \"json5\",\n\t\t\"name\": \"JSON5\",\n\t\t\"import\": (() => import(\"@shikijs/langs/json5\"))\n\t},\n\t{\n\t\t\"id\": \"jsonc\",\n\t\t\"name\": \"JSON with Comments\",\n\t\t\"import\": (() => import(\"@shikijs/langs/jsonc\"))\n\t},\n\t{\n\t\t\"id\": \"jsonl\",\n\t\t\"name\": \"JSON Lines\",\n\t\t\"import\": (() => import(\"@shikijs/langs/jsonl\"))\n\t},\n\t{\n\t\t\"id\": \"jsonnet\",\n\t\t\"name\": \"Jsonnet\",\n\t\t\"import\": (() => import(\"@shikijs/langs/jsonnet\"))\n\t},\n\t{\n\t\t\"id\": \"jssm\",\n\t\t\"name\": \"JSSM\",\n\t\t\"aliases\": [\"fsl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/jssm\"))\n\t},\n\t{\n\t\t\"id\": \"jsx\",\n\t\t\"name\": \"JSX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/jsx\"))\n\t},\n\t{\n\t\t\"id\": \"julia\",\n\t\t\"name\": \"Julia\",\n\t\t\"aliases\": [\"jl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/julia\"))\n\t},\n\t{\n\t\t\"id\": \"just\",\n\t\t\"name\": \"Just\",\n\t\t\"import\": (() => import(\"@shikijs/langs/just\"))\n\t},\n\t{\n\t\t\"id\": \"kdl\",\n\t\t\"name\": \"KDL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/kdl\"))\n\t},\n\t{\n\t\t\"id\": \"kotlin\",\n\t\t\"name\": \"Kotlin\",\n\t\t\"aliases\": [\"kt\", \"kts\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/kotlin\"))\n\t},\n\t{\n\t\t\"id\": \"kusto\",\n\t\t\"name\": \"Kusto\",\n\t\t\"aliases\": [\"kql\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/kusto\"))\n\t},\n\t{\n\t\t\"id\": \"latex\",\n\t\t\"name\": \"LaTeX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/latex\"))\n\t},\n\t{\n\t\t\"id\": \"lean\",\n\t\t\"name\": \"Lean 4\",\n\t\t\"aliases\": [\"lean4\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/lean\"))\n\t},\n\t{\n\t\t\"id\": \"less\",\n\t\t\"name\": \"Less\",\n\t\t\"import\": (() => import(\"@shikijs/langs/less\"))\n\t},\n\t{\n\t\t\"id\": \"liquid\",\n\t\t\"name\": \"Liquid\",\n\t\t\"import\": (() => import(\"@shikijs/langs/liquid\"))\n\t},\n\t{\n\t\t\"id\": \"llvm\",\n\t\t\"name\": \"LLVM IR\",\n\t\t\"import\": (() => import(\"@shikijs/langs/llvm\"))\n\t},\n\t{\n\t\t\"id\": \"log\",\n\t\t\"name\": \"Log file\",\n\t\t\"import\": (() => import(\"@shikijs/langs/log\"))\n\t},\n\t{\n\t\t\"id\": \"logo\",\n\t\t\"name\": \"Logo\",\n\t\t\"import\": (() => import(\"@shikijs/langs/logo\"))\n\t},\n\t{\n\t\t\"id\": \"lua\",\n\t\t\"name\": \"Lua\",\n\t\t\"import\": (() => import(\"@shikijs/langs/lua\"))\n\t},\n\t{\n\t\t\"id\": \"luau\",\n\t\t\"name\": \"Luau\",\n\t\t\"import\": (() => import(\"@shikijs/langs/luau\"))\n\t},\n\t{\n\t\t\"id\": \"make\",\n\t\t\"name\": \"Makefile\",\n\t\t\"aliases\": [\"makefile\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/make\"))\n\t},\n\t{\n\t\t\"id\": \"markdown\",\n\t\t\"name\": \"Markdown\",\n\t\t\"aliases\": [\"md\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/markdown\"))\n\t},\n\t{\n\t\t\"id\": \"marko\",\n\t\t\"name\": \"Marko\",\n\t\t\"import\": (() => import(\"@shikijs/langs/marko\"))\n\t},\n\t{\n\t\t\"id\": \"matlab\",\n\t\t\"name\": \"MATLAB\",\n\t\t\"import\": (() => import(\"@shikijs/langs/matlab\"))\n\t},\n\t{\n\t\t\"id\": \"mdc\",\n\t\t\"name\": \"MDC\",\n\t\t\"import\": (() => import(\"@shikijs/langs/mdc\"))\n\t},\n\t{\n\t\t\"id\": \"mdx\",\n\t\t\"name\": \"MDX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/mdx\"))\n\t},\n\t{\n\t\t\"id\": \"mermaid\",\n\t\t\"name\": \"Mermaid\",\n\t\t\"aliases\": [\"mmd\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/mermaid\"))\n\t},\n\t{\n\t\t\"id\": \"mipsasm\",\n\t\t\"name\": \"MIPS Assembly\",\n\t\t\"aliases\": [\"mips\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/mipsasm\"))\n\t},\n\t{\n\t\t\"id\": \"mojo\",\n\t\t\"name\": \"Mojo\",\n\t\t\"import\": (() => import(\"@shikijs/langs/mojo\"))\n\t},\n\t{\n\t\t\"id\": \"moonbit\",\n\t\t\"name\": \"MoonBit\",\n\t\t\"aliases\": [\"mbt\", \"mbti\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/moonbit\"))\n\t},\n\t{\n\t\t\"id\": \"move\",\n\t\t\"name\": \"Move\",\n\t\t\"import\": (() => import(\"@shikijs/langs/move\"))\n\t},\n\t{\n\t\t\"id\": \"narrat\",\n\t\t\"name\": \"Narrat Language\",\n\t\t\"aliases\": [\"nar\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/narrat\"))\n\t},\n\t{\n\t\t\"id\": \"nextflow\",\n\t\t\"name\": \"Nextflow\",\n\t\t\"aliases\": [\"nf\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/nextflow\"))\n\t},\n\t{\n\t\t\"id\": \"nextflow-groovy\",\n\t\t\"name\": \"nextflow-groovy\",\n\t\t\"import\": (() => import(\"@shikijs/langs/nextflow-groovy\"))\n\t},\n\t{\n\t\t\"id\": \"nginx\",\n\t\t\"name\": \"Nginx\",\n\t\t\"import\": (() => import(\"@shikijs/langs/nginx\"))\n\t},\n\t{\n\t\t\"id\": \"nim\",\n\t\t\"name\": \"Nim\",\n\t\t\"import\": (() => import(\"@shikijs/langs/nim\"))\n\t},\n\t{\n\t\t\"id\": \"nix\",\n\t\t\"name\": \"Nix\",\n\t\t\"import\": (() => import(\"@shikijs/langs/nix\"))\n\t},\n\t{\n\t\t\"id\": \"nushell\",\n\t\t\"name\": \"nushell\",\n\t\t\"aliases\": [\"nu\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/nushell\"))\n\t},\n\t{\n\t\t\"id\": \"objective-c\",\n\t\t\"name\": \"Objective-C\",\n\t\t\"aliases\": [\"objc\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/objective-c\"))\n\t},\n\t{\n\t\t\"id\": \"objective-cpp\",\n\t\t\"name\": \"Objective-C++\",\n\t\t\"import\": (() => import(\"@shikijs/langs/objective-cpp\"))\n\t},\n\t{\n\t\t\"id\": \"ocaml\",\n\t\t\"name\": \"OCaml\",\n\t\t\"import\": (() => import(\"@shikijs/langs/ocaml\"))\n\t},\n\t{\n\t\t\"id\": \"odin\",\n\t\t\"name\": \"Odin\",\n\t\t\"import\": (() => import(\"@shikijs/langs/odin\"))\n\t},\n\t{\n\t\t\"id\": \"openscad\",\n\t\t\"name\": \"OpenSCAD\",\n\t\t\"aliases\": [\"scad\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/openscad\"))\n\t},\n\t{\n\t\t\"id\": \"pascal\",\n\t\t\"name\": \"Pascal\",\n\t\t\"import\": (() => import(\"@shikijs/langs/pascal\"))\n\t},\n\t{\n\t\t\"id\": \"perl\",\n\t\t\"name\": \"Perl\",\n\t\t\"import\": (() => import(\"@shikijs/langs/perl\"))\n\t},\n\t{\n\t\t\"id\": \"php\",\n\t\t\"name\": \"PHP\",\n\t\t\"import\": (() => import(\"@shikijs/langs/php\"))\n\t},\n\t{\n\t\t\"id\": \"pkl\",\n\t\t\"name\": \"Pkl\",\n\t\t\"import\": (() => import(\"@shikijs/langs/pkl\"))\n\t},\n\t{\n\t\t\"id\": \"plsql\",\n\t\t\"name\": \"PL/SQL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/plsql\"))\n\t},\n\t{\n\t\t\"id\": \"po\",\n\t\t\"name\": \"Gettext PO\",\n\t\t\"aliases\": [\"pot\", \"potx\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/po\"))\n\t},\n\t{\n\t\t\"id\": \"polar\",\n\t\t\"name\": \"Polar\",\n\t\t\"import\": (() => import(\"@shikijs/langs/polar\"))\n\t},\n\t{\n\t\t\"id\": \"postcss\",\n\t\t\"name\": \"PostCSS\",\n\t\t\"import\": (() => import(\"@shikijs/langs/postcss\"))\n\t},\n\t{\n\t\t\"id\": \"powerquery\",\n\t\t\"name\": \"PowerQuery\",\n\t\t\"import\": (() => import(\"@shikijs/langs/powerquery\"))\n\t},\n\t{\n\t\t\"id\": \"powershell\",\n\t\t\"name\": \"PowerShell\",\n\t\t\"aliases\": [\"ps\", \"ps1\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/powershell\"))\n\t},\n\t{\n\t\t\"id\": \"prisma\",\n\t\t\"name\": \"Prisma\",\n\t\t\"import\": (() => import(\"@shikijs/langs/prisma\"))\n\t},\n\t{\n\t\t\"id\": \"prolog\",\n\t\t\"name\": \"Prolog\",\n\t\t\"import\": (() => import(\"@shikijs/langs/prolog\"))\n\t},\n\t{\n\t\t\"id\": \"proto\",\n\t\t\"name\": \"Protocol Buffer 3\",\n\t\t\"aliases\": [\"protobuf\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/proto\"))\n\t},\n\t{\n\t\t\"id\": \"pug\",\n\t\t\"name\": \"Pug\",\n\t\t\"aliases\": [\"jade\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/pug\"))\n\t},\n\t{\n\t\t\"id\": \"puppet\",\n\t\t\"name\": \"Puppet\",\n\t\t\"import\": (() => import(\"@shikijs/langs/puppet\"))\n\t},\n\t{\n\t\t\"id\": \"purescript\",\n\t\t\"name\": \"PureScript\",\n\t\t\"import\": (() => import(\"@shikijs/langs/purescript\"))\n\t},\n\t{\n\t\t\"id\": \"python\",\n\t\t\"name\": \"Python\",\n\t\t\"aliases\": [\"py\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/python\"))\n\t},\n\t{\n\t\t\"id\": \"qml\",\n\t\t\"name\": \"QML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/qml\"))\n\t},\n\t{\n\t\t\"id\": \"qmldir\",\n\t\t\"name\": \"QML Directory\",\n\t\t\"import\": (() => import(\"@shikijs/langs/qmldir\"))\n\t},\n\t{\n\t\t\"id\": \"qss\",\n\t\t\"name\": \"Qt Style Sheets\",\n\t\t\"import\": (() => import(\"@shikijs/langs/qss\"))\n\t},\n\t{\n\t\t\"id\": \"r\",\n\t\t\"name\": \"R\",\n\t\t\"import\": (() => import(\"@shikijs/langs/r\"))\n\t},\n\t{\n\t\t\"id\": \"racket\",\n\t\t\"name\": \"Racket\",\n\t\t\"import\": (() => import(\"@shikijs/langs/racket\"))\n\t},\n\t{\n\t\t\"id\": \"raku\",\n\t\t\"name\": \"Raku\",\n\t\t\"aliases\": [\"perl6\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/raku\"))\n\t},\n\t{\n\t\t\"id\": \"razor\",\n\t\t\"name\": \"ASP.NET Razor\",\n\t\t\"import\": (() => import(\"@shikijs/langs/razor\"))\n\t},\n\t{\n\t\t\"id\": \"reg\",\n\t\t\"name\": \"Windows Registry Script\",\n\t\t\"import\": (() => import(\"@shikijs/langs/reg\"))\n\t},\n\t{\n\t\t\"id\": \"regexp\",\n\t\t\"name\": \"RegExp\",\n\t\t\"aliases\": [\"regex\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/regexp\"))\n\t},\n\t{\n\t\t\"id\": \"rel\",\n\t\t\"name\": \"Rel\",\n\t\t\"import\": (() => import(\"@shikijs/langs/rel\"))\n\t},\n\t{\n\t\t\"id\": \"riscv\",\n\t\t\"name\": \"RISC-V\",\n\t\t\"import\": (() => import(\"@shikijs/langs/riscv\"))\n\t},\n\t{\n\t\t\"id\": \"ron\",\n\t\t\"name\": \"RON\",\n\t\t\"import\": (() => import(\"@shikijs/langs/ron\"))\n\t},\n\t{\n\t\t\"id\": \"rosmsg\",\n\t\t\"name\": \"ROS Interface\",\n\t\t\"import\": (() => import(\"@shikijs/langs/rosmsg\"))\n\t},\n\t{\n\t\t\"id\": \"rst\",\n\t\t\"name\": \"reStructuredText\",\n\t\t\"import\": (() => import(\"@shikijs/langs/rst\"))\n\t},\n\t{\n\t\t\"id\": \"ruby\",\n\t\t\"name\": \"Ruby\",\n\t\t\"aliases\": [\"rb\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/ruby\"))\n\t},\n\t{\n\t\t\"id\": \"rust\",\n\t\t\"name\": \"Rust\",\n\t\t\"aliases\": [\"rs\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/rust\"))\n\t},\n\t{\n\t\t\"id\": \"sas\",\n\t\t\"name\": \"SAS\",\n\t\t\"import\": (() => import(\"@shikijs/langs/sas\"))\n\t},\n\t{\n\t\t\"id\": \"sass\",\n\t\t\"name\": \"Sass\",\n\t\t\"import\": (() => import(\"@shikijs/langs/sass\"))\n\t},\n\t{\n\t\t\"id\": \"scala\",\n\t\t\"name\": \"Scala\",\n\t\t\"import\": (() => import(\"@shikijs/langs/scala\"))\n\t},\n\t{\n\t\t\"id\": \"scheme\",\n\t\t\"name\": \"Scheme\",\n\t\t\"import\": (() => import(\"@shikijs/langs/scheme\"))\n\t},\n\t{\n\t\t\"id\": \"scss\",\n\t\t\"name\": \"SCSS\",\n\t\t\"import\": (() => import(\"@shikijs/langs/scss\"))\n\t},\n\t{\n\t\t\"id\": \"sdbl\",\n\t\t\"name\": \"1C (Query)\",\n\t\t\"aliases\": [\"1c-query\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/sdbl\"))\n\t},\n\t{\n\t\t\"id\": \"shaderlab\",\n\t\t\"name\": \"ShaderLab\",\n\t\t\"aliases\": [\"shader\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/shaderlab\"))\n\t},\n\t{\n\t\t\"id\": \"shellscript\",\n\t\t\"name\": \"Shell\",\n\t\t\"aliases\": [\n\t\t\t\"bash\",\n\t\t\t\"sh\",\n\t\t\t\"shell\",\n\t\t\t\"zsh\"\n\t\t],\n\t\t\"import\": (() => import(\"@shikijs/langs/shellscript\"))\n\t},\n\t{\n\t\t\"id\": \"shellsession\",\n\t\t\"name\": \"Shell Session\",\n\t\t\"aliases\": [\"console\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/shellsession\"))\n\t},\n\t{\n\t\t\"id\": \"smalltalk\",\n\t\t\"name\": \"Smalltalk\",\n\t\t\"import\": (() => import(\"@shikijs/langs/smalltalk\"))\n\t},\n\t{\n\t\t\"id\": \"solidity\",\n\t\t\"name\": \"Solidity\",\n\t\t\"import\": (() => import(\"@shikijs/langs/solidity\"))\n\t},\n\t{\n\t\t\"id\": \"soy\",\n\t\t\"name\": \"Closure Templates\",\n\t\t\"aliases\": [\"closure-templates\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/soy\"))\n\t},\n\t{\n\t\t\"id\": \"sparql\",\n\t\t\"name\": \"SPARQL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/sparql\"))\n\t},\n\t{\n\t\t\"id\": \"splunk\",\n\t\t\"name\": \"Splunk Query Language\",\n\t\t\"aliases\": [\"spl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/splunk\"))\n\t},\n\t{\n\t\t\"id\": \"sql\",\n\t\t\"name\": \"SQL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/sql\"))\n\t},\n\t{\n\t\t\"id\": \"ssh-config\",\n\t\t\"name\": \"SSH Config\",\n\t\t\"import\": (() => import(\"@shikijs/langs/ssh-config\"))\n\t},\n\t{\n\t\t\"id\": \"stata\",\n\t\t\"name\": \"Stata\",\n\t\t\"import\": (() => import(\"@shikijs/langs/stata\"))\n\t},\n\t{\n\t\t\"id\": \"stylus\",\n\t\t\"name\": \"Stylus\",\n\t\t\"aliases\": [\"styl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/stylus\"))\n\t},\n\t{\n\t\t\"id\": \"surrealql\",\n\t\t\"name\": \"SurrealQL\",\n\t\t\"aliases\": [\"surql\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/surrealql\"))\n\t},\n\t{\n\t\t\"id\": \"svelte\",\n\t\t\"name\": \"Svelte\",\n\t\t\"import\": (() => import(\"@shikijs/langs/svelte\"))\n\t},\n\t{\n\t\t\"id\": \"swift\",\n\t\t\"name\": \"Swift\",\n\t\t\"import\": (() => import(\"@shikijs/langs/swift\"))\n\t},\n\t{\n\t\t\"id\": \"system-verilog\",\n\t\t\"name\": \"SystemVerilog\",\n\t\t\"import\": (() => import(\"@shikijs/langs/system-verilog\"))\n\t},\n\t{\n\t\t\"id\": \"systemd\",\n\t\t\"name\": \"Systemd Units\",\n\t\t\"import\": (() => import(\"@shikijs/langs/systemd\"))\n\t},\n\t{\n\t\t\"id\": \"talonscript\",\n\t\t\"name\": \"TalonScript\",\n\t\t\"aliases\": [\"talon\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/talonscript\"))\n\t},\n\t{\n\t\t\"id\": \"tasl\",\n\t\t\"name\": \"Tasl\",\n\t\t\"import\": (() => import(\"@shikijs/langs/tasl\"))\n\t},\n\t{\n\t\t\"id\": \"tcl\",\n\t\t\"name\": \"Tcl\",\n\t\t\"import\": (() => import(\"@shikijs/langs/tcl\"))\n\t},\n\t{\n\t\t\"id\": \"templ\",\n\t\t\"name\": \"Templ\",\n\t\t\"import\": (() => import(\"@shikijs/langs/templ\"))\n\t},\n\t{\n\t\t\"id\": \"terraform\",\n\t\t\"name\": \"Terraform\",\n\t\t\"aliases\": [\"tf\", \"tfvars\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/terraform\"))\n\t},\n\t{\n\t\t\"id\": \"tex\",\n\t\t\"name\": \"TeX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/tex\"))\n\t},\n\t{\n\t\t\"id\": \"toml\",\n\t\t\"name\": \"TOML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/toml\"))\n\t},\n\t{\n\t\t\"id\": \"ts-tags\",\n\t\t\"name\": \"TypeScript with Tags\",\n\t\t\"aliases\": [\"lit\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/ts-tags\"))\n\t},\n\t{\n\t\t\"id\": \"tsv\",\n\t\t\"name\": \"TSV\",\n\t\t\"import\": (() => import(\"@shikijs/langs/tsv\"))\n\t},\n\t{\n\t\t\"id\": \"tsx\",\n\t\t\"name\": \"TSX\",\n\t\t\"import\": (() => import(\"@shikijs/langs/tsx\"))\n\t},\n\t{\n\t\t\"id\": \"turtle\",\n\t\t\"name\": \"Turtle\",\n\t\t\"import\": (() => import(\"@shikijs/langs/turtle\"))\n\t},\n\t{\n\t\t\"id\": \"twig\",\n\t\t\"name\": \"Twig\",\n\t\t\"import\": (() => import(\"@shikijs/langs/twig\"))\n\t},\n\t{\n\t\t\"id\": \"typescript\",\n\t\t\"name\": \"TypeScript\",\n\t\t\"aliases\": [\n\t\t\t\"ts\",\n\t\t\t\"cts\",\n\t\t\t\"mts\"\n\t\t],\n\t\t\"import\": (() => import(\"@shikijs/langs/typescript\"))\n\t},\n\t{\n\t\t\"id\": \"typespec\",\n\t\t\"name\": \"TypeSpec\",\n\t\t\"aliases\": [\"tsp\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/typespec\"))\n\t},\n\t{\n\t\t\"id\": \"typst\",\n\t\t\"name\": \"Typst\",\n\t\t\"aliases\": [\"typ\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/typst\"))\n\t},\n\t{\n\t\t\"id\": \"v\",\n\t\t\"name\": \"V\",\n\t\t\"import\": (() => import(\"@shikijs/langs/v\"))\n\t},\n\t{\n\t\t\"id\": \"vala\",\n\t\t\"name\": \"Vala\",\n\t\t\"import\": (() => import(\"@shikijs/langs/vala\"))\n\t},\n\t{\n\t\t\"id\": \"vb\",\n\t\t\"name\": \"Visual Basic\",\n\t\t\"aliases\": [\"cmd\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/vb\"))\n\t},\n\t{\n\t\t\"id\": \"verilog\",\n\t\t\"name\": \"Verilog\",\n\t\t\"import\": (() => import(\"@shikijs/langs/verilog\"))\n\t},\n\t{\n\t\t\"id\": \"vhdl\",\n\t\t\"name\": \"VHDL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/vhdl\"))\n\t},\n\t{\n\t\t\"id\": \"viml\",\n\t\t\"name\": \"Vim Script\",\n\t\t\"aliases\": [\"vim\", \"vimscript\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/viml\"))\n\t},\n\t{\n\t\t\"id\": \"vue\",\n\t\t\"name\": \"Vue\",\n\t\t\"import\": (() => import(\"@shikijs/langs/vue\"))\n\t},\n\t{\n\t\t\"id\": \"vue-html\",\n\t\t\"name\": \"Vue HTML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/vue-html\"))\n\t},\n\t{\n\t\t\"id\": \"vue-vine\",\n\t\t\"name\": \"Vue Vine\",\n\t\t\"import\": (() => import(\"@shikijs/langs/vue-vine\"))\n\t},\n\t{\n\t\t\"id\": \"vyper\",\n\t\t\"name\": \"Vyper\",\n\t\t\"aliases\": [\"vy\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/vyper\"))\n\t},\n\t{\n\t\t\"id\": \"wasm\",\n\t\t\"name\": \"WebAssembly\",\n\t\t\"import\": (() => import(\"@shikijs/langs/wasm\"))\n\t},\n\t{\n\t\t\"id\": \"wenyan\",\n\t\t\"name\": \"Wenyan\",\n\t\t\"aliases\": [\"文言\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/wenyan\"))\n\t},\n\t{\n\t\t\"id\": \"wgsl\",\n\t\t\"name\": \"WGSL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/wgsl\"))\n\t},\n\t{\n\t\t\"id\": \"wikitext\",\n\t\t\"name\": \"Wikitext\",\n\t\t\"aliases\": [\"mediawiki\", \"wiki\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/wikitext\"))\n\t},\n\t{\n\t\t\"id\": \"wit\",\n\t\t\"name\": \"WebAssembly Interface Types\",\n\t\t\"import\": (() => import(\"@shikijs/langs/wit\"))\n\t},\n\t{\n\t\t\"id\": \"wolfram\",\n\t\t\"name\": \"Wolfram\",\n\t\t\"aliases\": [\"wl\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/wolfram\"))\n\t},\n\t{\n\t\t\"id\": \"xml\",\n\t\t\"name\": \"XML\",\n\t\t\"import\": (() => import(\"@shikijs/langs/xml\"))\n\t},\n\t{\n\t\t\"id\": \"xsl\",\n\t\t\"name\": \"XSL\",\n\t\t\"import\": (() => import(\"@shikijs/langs/xsl\"))\n\t},\n\t{\n\t\t\"id\": \"yaml\",\n\t\t\"name\": \"YAML\",\n\t\t\"aliases\": [\"yml\"],\n\t\t\"import\": (() => import(\"@shikijs/langs/yaml\"))\n\t},\n\t{\n\t\t\"id\": \"zenscript\",\n\t\t\"name\": \"ZenScript\",\n\t\t\"import\": (() => import(\"@shikijs/langs/zenscript\"))\n\t},\n\t{\n\t\t\"id\": \"zig\",\n\t\t\"name\": \"Zig\",\n\t\t\"import\": (() => import(\"@shikijs/langs/zig\"))\n\t}\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n\t...bundledLanguagesBase,\n\t...bundledLanguagesAlias\n};\n\n//#endregion\nexport { bundledLanguagesInfo as i, bundledLanguagesAlias as n, bundledLanguagesBase as r, bundledLanguages as t };","//#region src/themes.ts\nconst bundledThemesInfo = [\n\t{\n\t\t\"id\": \"andromeeda\",\n\t\t\"displayName\": \"Andromeeda\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/andromeeda\"))\n\t},\n\t{\n\t\t\"id\": \"aurora-x\",\n\t\t\"displayName\": \"Aurora X\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/aurora-x\"))\n\t},\n\t{\n\t\t\"id\": \"ayu-dark\",\n\t\t\"displayName\": \"Ayu Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/ayu-dark\"))\n\t},\n\t{\n\t\t\"id\": \"ayu-light\",\n\t\t\"displayName\": \"Ayu Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/ayu-light\"))\n\t},\n\t{\n\t\t\"id\": \"ayu-mirage\",\n\t\t\"displayName\": \"Ayu Mirage\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/ayu-mirage\"))\n\t},\n\t{\n\t\t\"id\": \"catppuccin-frappe\",\n\t\t\"displayName\": \"Catppuccin Frappé\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/catppuccin-frappe\"))\n\t},\n\t{\n\t\t\"id\": \"catppuccin-latte\",\n\t\t\"displayName\": \"Catppuccin Latte\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/catppuccin-latte\"))\n\t},\n\t{\n\t\t\"id\": \"catppuccin-macchiato\",\n\t\t\"displayName\": \"Catppuccin Macchiato\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/catppuccin-macchiato\"))\n\t},\n\t{\n\t\t\"id\": \"catppuccin-mocha\",\n\t\t\"displayName\": \"Catppuccin Mocha\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/catppuccin-mocha\"))\n\t},\n\t{\n\t\t\"id\": \"dark-plus\",\n\t\t\"displayName\": \"Dark Plus\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/dark-plus\"))\n\t},\n\t{\n\t\t\"id\": \"dracula\",\n\t\t\"displayName\": \"Dracula Theme\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/dracula\"))\n\t},\n\t{\n\t\t\"id\": \"dracula-soft\",\n\t\t\"displayName\": \"Dracula Theme Soft\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/dracula-soft\"))\n\t},\n\t{\n\t\t\"id\": \"everforest-dark\",\n\t\t\"displayName\": \"Everforest Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/everforest-dark\"))\n\t},\n\t{\n\t\t\"id\": \"everforest-light\",\n\t\t\"displayName\": \"Everforest Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/everforest-light\"))\n\t},\n\t{\n\t\t\"id\": \"github-dark\",\n\t\t\"displayName\": \"GitHub Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-dark\"))\n\t},\n\t{\n\t\t\"id\": \"github-dark-default\",\n\t\t\"displayName\": \"GitHub Dark Default\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-dark-default\"))\n\t},\n\t{\n\t\t\"id\": \"github-dark-dimmed\",\n\t\t\"displayName\": \"GitHub Dark Dimmed\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-dark-dimmed\"))\n\t},\n\t{\n\t\t\"id\": \"github-dark-high-contrast\",\n\t\t\"displayName\": \"GitHub Dark High Contrast\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-dark-high-contrast\"))\n\t},\n\t{\n\t\t\"id\": \"github-light\",\n\t\t\"displayName\": \"GitHub Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-light\"))\n\t},\n\t{\n\t\t\"id\": \"github-light-default\",\n\t\t\"displayName\": \"GitHub Light Default\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-light-default\"))\n\t},\n\t{\n\t\t\"id\": \"github-light-high-contrast\",\n\t\t\"displayName\": \"GitHub Light High Contrast\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/github-light-high-contrast\"))\n\t},\n\t{\n\t\t\"id\": \"gruvbox-dark-hard\",\n\t\t\"displayName\": \"Gruvbox Dark Hard\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/gruvbox-dark-hard\"))\n\t},\n\t{\n\t\t\"id\": \"gruvbox-dark-medium\",\n\t\t\"displayName\": \"Gruvbox Dark Medium\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/gruvbox-dark-medium\"))\n\t},\n\t{\n\t\t\"id\": \"gruvbox-dark-soft\",\n\t\t\"displayName\": \"Gruvbox Dark Soft\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/gruvbox-dark-soft\"))\n\t},\n\t{\n\t\t\"id\": \"gruvbox-light-hard\",\n\t\t\"displayName\": \"Gruvbox Light Hard\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/gruvbox-light-hard\"))\n\t},\n\t{\n\t\t\"id\": \"gruvbox-light-medium\",\n\t\t\"displayName\": \"Gruvbox Light Medium\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/gruvbox-light-medium\"))\n\t},\n\t{\n\t\t\"id\": \"gruvbox-light-soft\",\n\t\t\"displayName\": \"Gruvbox Light Soft\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/gruvbox-light-soft\"))\n\t},\n\t{\n\t\t\"id\": \"horizon\",\n\t\t\"displayName\": \"Horizon\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/horizon\"))\n\t},\n\t{\n\t\t\"id\": \"horizon-bright\",\n\t\t\"displayName\": \"Horizon Bright\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/horizon-bright\"))\n\t},\n\t{\n\t\t\"id\": \"houston\",\n\t\t\"displayName\": \"Houston\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/houston\"))\n\t},\n\t{\n\t\t\"id\": \"kanagawa-dragon\",\n\t\t\"displayName\": \"Kanagawa Dragon\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/kanagawa-dragon\"))\n\t},\n\t{\n\t\t\"id\": \"kanagawa-lotus\",\n\t\t\"displayName\": \"Kanagawa Lotus\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/kanagawa-lotus\"))\n\t},\n\t{\n\t\t\"id\": \"kanagawa-wave\",\n\t\t\"displayName\": \"Kanagawa Wave\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/kanagawa-wave\"))\n\t},\n\t{\n\t\t\"id\": \"laserwave\",\n\t\t\"displayName\": \"LaserWave\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/laserwave\"))\n\t},\n\t{\n\t\t\"id\": \"light-plus\",\n\t\t\"displayName\": \"Light Plus\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/light-plus\"))\n\t},\n\t{\n\t\t\"id\": \"material-theme\",\n\t\t\"displayName\": \"Material Theme\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/material-theme\"))\n\t},\n\t{\n\t\t\"id\": \"material-theme-darker\",\n\t\t\"displayName\": \"Material Theme Darker\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/material-theme-darker\"))\n\t},\n\t{\n\t\t\"id\": \"material-theme-lighter\",\n\t\t\"displayName\": \"Material Theme Lighter\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/material-theme-lighter\"))\n\t},\n\t{\n\t\t\"id\": \"material-theme-ocean\",\n\t\t\"displayName\": \"Material Theme Ocean\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/material-theme-ocean\"))\n\t},\n\t{\n\t\t\"id\": \"material-theme-palenight\",\n\t\t\"displayName\": \"Material Theme Palenight\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/material-theme-palenight\"))\n\t},\n\t{\n\t\t\"id\": \"min-dark\",\n\t\t\"displayName\": \"Min Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/min-dark\"))\n\t},\n\t{\n\t\t\"id\": \"min-light\",\n\t\t\"displayName\": \"Min Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/min-light\"))\n\t},\n\t{\n\t\t\"id\": \"monokai\",\n\t\t\"displayName\": \"Monokai\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/monokai\"))\n\t},\n\t{\n\t\t\"id\": \"night-owl\",\n\t\t\"displayName\": \"Night Owl\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/night-owl\"))\n\t},\n\t{\n\t\t\"id\": \"night-owl-light\",\n\t\t\"displayName\": \"Night Owl Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/night-owl-light\"))\n\t},\n\t{\n\t\t\"id\": \"nord\",\n\t\t\"displayName\": \"Nord\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/nord\"))\n\t},\n\t{\n\t\t\"id\": \"one-dark-pro\",\n\t\t\"displayName\": \"One Dark Pro\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/one-dark-pro\"))\n\t},\n\t{\n\t\t\"id\": \"one-light\",\n\t\t\"displayName\": \"One Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/one-light\"))\n\t},\n\t{\n\t\t\"id\": \"plastic\",\n\t\t\"displayName\": \"Plastic\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/plastic\"))\n\t},\n\t{\n\t\t\"id\": \"poimandres\",\n\t\t\"displayName\": \"Poimandres\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/poimandres\"))\n\t},\n\t{\n\t\t\"id\": \"red\",\n\t\t\"displayName\": \"Red\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/red\"))\n\t},\n\t{\n\t\t\"id\": \"rose-pine\",\n\t\t\"displayName\": \"Rosé Pine\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/rose-pine\"))\n\t},\n\t{\n\t\t\"id\": \"rose-pine-dawn\",\n\t\t\"displayName\": \"Rosé Pine Dawn\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/rose-pine-dawn\"))\n\t},\n\t{\n\t\t\"id\": \"rose-pine-moon\",\n\t\t\"displayName\": \"Rosé Pine Moon\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/rose-pine-moon\"))\n\t},\n\t{\n\t\t\"id\": \"slack-dark\",\n\t\t\"displayName\": \"Slack Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/slack-dark\"))\n\t},\n\t{\n\t\t\"id\": \"slack-ochin\",\n\t\t\"displayName\": \"Slack Ochin\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/slack-ochin\"))\n\t},\n\t{\n\t\t\"id\": \"snazzy-light\",\n\t\t\"displayName\": \"Snazzy Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/snazzy-light\"))\n\t},\n\t{\n\t\t\"id\": \"solarized-dark\",\n\t\t\"displayName\": \"Solarized Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/solarized-dark\"))\n\t},\n\t{\n\t\t\"id\": \"solarized-light\",\n\t\t\"displayName\": \"Solarized Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/solarized-light\"))\n\t},\n\t{\n\t\t\"id\": \"synthwave-84\",\n\t\t\"displayName\": \"Synthwave '84\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/synthwave-84\"))\n\t},\n\t{\n\t\t\"id\": \"tokyo-night\",\n\t\t\"displayName\": \"Tokyo Night\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/tokyo-night\"))\n\t},\n\t{\n\t\t\"id\": \"vesper\",\n\t\t\"displayName\": \"Vesper\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/vesper\"))\n\t},\n\t{\n\t\t\"id\": \"vitesse-black\",\n\t\t\"displayName\": \"Vitesse Black\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/vitesse-black\"))\n\t},\n\t{\n\t\t\"id\": \"vitesse-dark\",\n\t\t\"displayName\": \"Vitesse Dark\",\n\t\t\"type\": \"dark\",\n\t\t\"import\": (() => import(\"@shikijs/themes/vitesse-dark\"))\n\t},\n\t{\n\t\t\"id\": \"vitesse-light\",\n\t\t\"displayName\": \"Vitesse Light\",\n\t\t\"type\": \"light\",\n\t\t\"import\": (() => import(\"@shikijs/themes/vitesse-light\"))\n\t}\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\n//#endregion\nexport { bundledThemes, bundledThemesInfo };","//#region src/error.ts\nvar ShikiError = class extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = \"ShikiError\";\n\t}\n};\n\n//#endregion\nexport { ShikiError };","// src/utils.ts\nfunction clone(something) {\n return doClone(something);\n}\nfunction doClone(something) {\n if (Array.isArray(something)) {\n return cloneArray(something);\n }\n if (something instanceof RegExp) {\n return something;\n }\n if (typeof something === \"object\") {\n return cloneObj(something);\n }\n return something;\n}\nfunction cloneArray(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = doClone(arr[i]);\n }\n return r;\n}\nfunction cloneObj(obj) {\n let r = {};\n for (let key in obj) {\n r[key] = doClone(obj[key]);\n }\n return r;\n}\nfunction mergeObjects(target, ...sources) {\n sources.forEach((source) => {\n for (let key in source) {\n target[key] = source[key];\n }\n });\n return target;\n}\nfunction basename(path) {\n const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n if (idx === 0) {\n return path;\n } else if (~idx === path.length - 1) {\n return basename(path.substring(0, path.length - 1));\n } else {\n return path.substr(~idx + 1);\n }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n static hasCaptures(regexSource) {\n if (regexSource === null) {\n return false;\n }\n CAPTURING_REGEX_SOURCE.lastIndex = 0;\n return CAPTURING_REGEX_SOURCE.test(regexSource);\n }\n static replaceCaptures(regexSource, captureSource, captureIndices) {\n return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n let capture = captureIndices[parseInt(index || commandIndex, 10)];\n if (capture) {\n let result = captureSource.substring(capture.start, capture.end);\n while (result[0] === \".\") {\n result = result.substring(1);\n }\n switch (command) {\n case \"downcase\":\n return result.toLowerCase();\n case \"upcase\":\n return result.toUpperCase();\n default:\n return result;\n }\n } else {\n return match;\n }\n });\n }\n};\nfunction strcmp(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nfunction strArrCmp(a, b) {\n if (a === null && b === null) {\n return 0;\n }\n if (!a) {\n return -1;\n }\n if (!b) {\n return 1;\n }\n let len1 = a.length;\n let len2 = b.length;\n if (len1 === len2) {\n for (let i = 0; i < len1; i++) {\n let res = strcmp(a[i], b[i]);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n }\n return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n if (/^#[0-9a-f]{6}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{8}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{3}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{4}$/i.test(hex)) {\n return true;\n }\n return false;\n}\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n constructor(fn) {\n this.fn = fn;\n }\n cache = /* @__PURE__ */ new Map();\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n const value = this.fn(key);\n this.cache.set(key, value);\n return value;\n }\n};\n\n// src/theme.ts\nvar Theme = class {\n constructor(_colorMap, _defaults, _root) {\n this._colorMap = _colorMap;\n this._defaults = _defaults;\n this._root = _root;\n }\n static createFromRawTheme(source, colorMap) {\n return this.createFromParsedTheme(parseTheme(source), colorMap);\n }\n static createFromParsedTheme(source, colorMap) {\n return resolveParsedThemeRules(source, colorMap);\n }\n _cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\n getColorMap() {\n return this._colorMap.getColorMap();\n }\n getDefaults() {\n return this._defaults;\n }\n match(scopePath) {\n if (scopePath === null) {\n return this._defaults;\n }\n const scopeName = scopePath.scopeName;\n const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n const effectiveRule = matchingTrieElements.find(\n (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n );\n if (!effectiveRule) {\n return null;\n }\n return new StyleAttributes(\n effectiveRule.fontStyle,\n effectiveRule.foreground,\n effectiveRule.background\n );\n }\n};\nvar ScopeStack = class _ScopeStack {\n constructor(parent, scopeName) {\n this.parent = parent;\n this.scopeName = scopeName;\n }\n static push(path, scopeNames) {\n for (const name of scopeNames) {\n path = new _ScopeStack(path, name);\n }\n return path;\n }\n static from(...segments) {\n let result = null;\n for (let i = 0; i < segments.length; i++) {\n result = new _ScopeStack(result, segments[i]);\n }\n return result;\n }\n push(scopeName) {\n return new _ScopeStack(this, scopeName);\n }\n getSegments() {\n let item = this;\n const result = [];\n while (item) {\n result.push(item.scopeName);\n item = item.parent;\n }\n result.reverse();\n return result;\n }\n toString() {\n return this.getSegments().join(\" \");\n }\n extends(other) {\n if (this === other) {\n return true;\n }\n if (this.parent === null) {\n return false;\n }\n return this.parent.extends(other);\n }\n getExtensionIfDefined(base) {\n const result = [];\n let item = this;\n while (item && item !== base) {\n result.push(item.scopeName);\n item = item.parent;\n }\n return item === base ? result.reverse() : void 0;\n }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n if (parentScopes.length === 0) {\n return true;\n }\n for (let index = 0; index < parentScopes.length; index++) {\n let scopePattern = parentScopes[index];\n let scopeMustMatch = false;\n if (scopePattern === \">\") {\n if (index === parentScopes.length - 1) {\n return false;\n }\n scopePattern = parentScopes[++index];\n scopeMustMatch = true;\n }\n while (scopePath) {\n if (_matchesScope(scopePath.scopeName, scopePattern)) {\n break;\n }\n if (scopeMustMatch) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n if (!scopePath) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n constructor(fontStyle, foregroundId, backgroundId) {\n this.fontStyle = fontStyle;\n this.foregroundId = foregroundId;\n this.backgroundId = backgroundId;\n }\n};\nfunction parseTheme(source) {\n if (!source) {\n return [];\n }\n if (!source.settings || !Array.isArray(source.settings)) {\n return [];\n }\n let settings = source.settings;\n let result = [], resultLen = 0;\n for (let i = 0, len = settings.length; i < len; i++) {\n let entry = settings[i];\n if (!entry.settings) {\n continue;\n }\n let scopes;\n if (typeof entry.scope === \"string\") {\n let _scope = entry.scope;\n _scope = _scope.replace(/^[,]+/, \"\");\n _scope = _scope.replace(/[,]+$/, \"\");\n scopes = _scope.split(\",\");\n } else if (Array.isArray(entry.scope)) {\n scopes = entry.scope;\n } else {\n scopes = [\"\"];\n }\n let fontStyle = -1 /* NotSet */;\n if (typeof entry.settings.fontStyle === \"string\") {\n fontStyle = 0 /* None */;\n let segments = entry.settings.fontStyle.split(\" \");\n for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n let segment = segments[j];\n switch (segment) {\n case \"italic\":\n fontStyle = fontStyle | 1 /* Italic */;\n break;\n case \"bold\":\n fontStyle = fontStyle | 2 /* Bold */;\n break;\n case \"underline\":\n fontStyle = fontStyle | 4 /* Underline */;\n break;\n case \"strikethrough\":\n fontStyle = fontStyle | 8 /* Strikethrough */;\n break;\n }\n }\n }\n let foreground = null;\n if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n foreground = entry.settings.foreground;\n }\n let background = null;\n if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n background = entry.settings.background;\n }\n for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n let _scope = scopes[j].trim();\n let segments = _scope.split(\" \");\n let scope = segments[segments.length - 1];\n let parentScopes = null;\n if (segments.length > 1) {\n parentScopes = segments.slice(0, segments.length - 1);\n parentScopes.reverse();\n }\n result[resultLen++] = new ParsedThemeRule(\n scope,\n parentScopes,\n i,\n fontStyle,\n foreground,\n background\n );\n }\n }\n return result;\n}\nvar ParsedThemeRule = class {\n constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n this.scope = scope;\n this.parentScopes = parentScopes;\n this.index = index;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n parsedThemeRules.sort((a, b) => {\n let r = strcmp(a.scope, b.scope);\n if (r !== 0) {\n return r;\n }\n r = strArrCmp(a.parentScopes, b.parentScopes);\n if (r !== 0) {\n return r;\n }\n return a.index - b.index;\n });\n let defaultFontStyle = 0 /* None */;\n let defaultForeground = \"#000000\";\n let defaultBackground = \"#ffffff\";\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n let incomingDefaults = parsedThemeRules.shift();\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n defaultFontStyle = incomingDefaults.fontStyle;\n }\n if (incomingDefaults.foreground !== null) {\n defaultForeground = incomingDefaults.foreground;\n }\n if (incomingDefaults.background !== null) {\n defaultBackground = incomingDefaults.background;\n }\n }\n let colorMap = new ColorMap(_colorMap);\n let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n let rule = parsedThemeRules[i];\n root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n }\n return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n _isFrozen;\n _lastColorId;\n _id2color;\n _color2id;\n constructor(_colorMap) {\n this._lastColorId = 0;\n this._id2color = [];\n this._color2id = /* @__PURE__ */ Object.create(null);\n if (Array.isArray(_colorMap)) {\n this._isFrozen = true;\n for (let i = 0, len = _colorMap.length; i < len; i++) {\n this._color2id[_colorMap[i]] = i;\n this._id2color[i] = _colorMap[i];\n }\n } else {\n this._isFrozen = false;\n }\n }\n getId(color) {\n if (color === null) {\n return 0;\n }\n color = color.toUpperCase();\n let value = this._color2id[color];\n if (value) {\n return value;\n }\n if (this._isFrozen) {\n throw new Error(`Missing color in color map - ${color}`);\n }\n value = ++this._lastColorId;\n this._color2id[color] = value;\n this._id2color[value] = color;\n return value;\n }\n getColorMap() {\n return this._id2color.slice(0);\n }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n scopeDepth;\n parentScopes;\n fontStyle;\n foreground;\n background;\n constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n this.scopeDepth = scopeDepth;\n this.parentScopes = parentScopes || emptyParentScopes;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n clone() {\n return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n }\n static cloneArr(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = arr[i].clone();\n }\n return r;\n }\n acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n if (this.scopeDepth > scopeDepth) {\n console.log(\"how did this happen?\");\n } else {\n this.scopeDepth = scopeDepth;\n }\n if (fontStyle !== -1 /* NotSet */) {\n this.fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n this.foreground = foreground;\n }\n if (background !== 0) {\n this.background = background;\n }\n }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n this._mainRule = _mainRule;\n this._children = _children;\n this._rulesWithParentScopes = rulesWithParentScopes;\n }\n _rulesWithParentScopes;\n static _cmpBySpecificity(a, b) {\n if (a.scopeDepth !== b.scopeDepth) {\n return b.scopeDepth - a.scopeDepth;\n }\n let aParentIndex = 0;\n let bParentIndex = 0;\n while (true) {\n if (a.parentScopes[aParentIndex] === \">\") {\n aParentIndex++;\n }\n if (b.parentScopes[bParentIndex] === \">\") {\n bParentIndex++;\n }\n if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n break;\n }\n const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n if (parentScopeLengthDiff !== 0) {\n return parentScopeLengthDiff;\n }\n aParentIndex++;\n bParentIndex++;\n }\n return b.parentScopes.length - a.parentScopes.length;\n }\n match(scope) {\n if (scope !== \"\") {\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n if (this._children.hasOwnProperty(head)) {\n return this._children[head].match(tail);\n }\n }\n const rules = this._rulesWithParentScopes.concat(this._mainRule);\n rules.sort(_ThemeTrieElement._cmpBySpecificity);\n return rules;\n }\n insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n if (scope === \"\") {\n this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n return;\n }\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n let child;\n if (this._children.hasOwnProperty(head)) {\n child = this._children[head];\n } else {\n child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n this._children[head] = child;\n }\n child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n }\n _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n if (parentScopes === null) {\n this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n let rule = this._rulesWithParentScopes[i];\n if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n }\n if (fontStyle === -1 /* NotSet */) {\n fontStyle = this._mainRule.fontStyle;\n }\n if (foreground === 0) {\n foreground = this._mainRule.foreground;\n }\n if (background === 0) {\n background = this._mainRule.background;\n }\n this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n static toBinaryStr(encodedTokenAttributes) {\n return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n }\n static print(encodedTokenAttributes) {\n const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n console.log({\n languageId,\n tokenType,\n fontStyle,\n foreground,\n background\n });\n }\n static getLanguageId(encodedTokenAttributes) {\n return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n }\n static getTokenType(encodedTokenAttributes) {\n return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n }\n static containsBalancedBrackets(encodedTokenAttributes) {\n return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n }\n static getFontStyle(encodedTokenAttributes) {\n return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n }\n static getForeground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n }\n static getBackground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n }\n /**\n * Updates the fields in `metadata`.\n * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n */\n static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n if (languageId !== 0) {\n _languageId = languageId;\n }\n if (tokenType !== 8 /* NotSet */) {\n _tokenType = fromOptionalTokenType(tokenType);\n }\n if (containsBalancedBrackets !== null) {\n _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n }\n if (fontStyle !== -1 /* NotSet */) {\n _fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n _foreground = foreground;\n }\n if (background !== 0) {\n _background = background;\n }\n return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n }\n};\nfunction toOptionalTokenType(standardType) {\n return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n const results = [];\n const tokenizer = newTokenizer(selector);\n let token = tokenizer.next();\n while (token !== null) {\n let priority = 0;\n if (token.length === 2 && token.charAt(1) === \":\") {\n switch (token.charAt(0)) {\n case \"R\":\n priority = 1;\n break;\n case \"L\":\n priority = -1;\n break;\n default:\n console.log(`Unknown priority ${token} in scope selector`);\n }\n token = tokenizer.next();\n }\n let matcher = parseConjunction();\n results.push({ matcher, priority });\n if (token !== \",\") {\n break;\n }\n token = tokenizer.next();\n }\n return results;\n function parseOperand() {\n if (token === \"-\") {\n token = tokenizer.next();\n const expressionToNegate = parseOperand();\n return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n }\n if (token === \"(\") {\n token = tokenizer.next();\n const expressionInParents = parseInnerExpression();\n if (token === \")\") {\n token = tokenizer.next();\n }\n return expressionInParents;\n }\n if (isIdentifier(token)) {\n const identifiers = [];\n do {\n identifiers.push(token);\n token = tokenizer.next();\n } while (isIdentifier(token));\n return (matcherInput) => matchesName(identifiers, matcherInput);\n }\n return null;\n }\n function parseConjunction() {\n const matchers = [];\n let matcher = parseOperand();\n while (matcher) {\n matchers.push(matcher);\n matcher = parseOperand();\n }\n return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n }\n function parseInnerExpression() {\n const matchers = [];\n let matcher = parseConjunction();\n while (matcher) {\n matchers.push(matcher);\n if (token === \"|\" || token === \",\") {\n do {\n token = tokenizer.next();\n } while (token === \"|\" || token === \",\");\n } else {\n break;\n }\n matcher = parseConjunction();\n }\n return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n }\n}\nfunction isIdentifier(token) {\n return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n let match = regex.exec(input);\n return {\n next: () => {\n if (!match) {\n return null;\n }\n const res = match[0];\n match = regex.exec(input);\n return res;\n }\n };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n if (typeof str.dispose === \"function\") {\n str.dispose();\n }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n toKey() {\n return this.scopeName;\n }\n};\nvar TopLevelRepositoryRuleReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n toKey() {\n return `${this.scopeName}#${this.ruleName}`;\n }\n};\nvar ExternalReferenceCollector = class {\n _references = [];\n _seenReferenceKeys = /* @__PURE__ */ new Set();\n get references() {\n return this._references;\n }\n visitedRule = /* @__PURE__ */ new Set();\n add(reference) {\n const key = reference.toKey();\n if (this._seenReferenceKeys.has(key)) {\n return;\n }\n this._seenReferenceKeys.add(key);\n this._references.push(reference);\n }\n};\nvar ScopeDependencyProcessor = class {\n constructor(repo, initialScopeName) {\n this.repo = repo;\n this.initialScopeName = initialScopeName;\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\n seenFullScopeRequests = /* @__PURE__ */ new Set();\n seenPartialScopeRequests = /* @__PURE__ */ new Set();\n Q;\n processQueue() {\n const q = this.Q;\n this.Q = [];\n const deps = new ExternalReferenceCollector();\n for (const dep of q) {\n collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n }\n for (const dep of deps.references) {\n if (dep instanceof TopLevelRuleReference) {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n this.seenFullScopeRequests.add(dep.scopeName);\n this.Q.push(dep);\n } else {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n if (this.seenPartialScopeRequests.has(dep.toKey())) {\n continue;\n }\n this.seenPartialScopeRequests.add(dep.toKey());\n this.Q.push(dep);\n }\n }\n }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n const selfGrammar = repo.lookup(reference.scopeName);\n if (!selfGrammar) {\n if (reference.scopeName === baseGrammarScopeName) {\n throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n }\n return;\n }\n const baseGrammar = repo.lookup(baseGrammarScopeName);\n if (reference instanceof TopLevelRuleReference) {\n collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n } else {\n collectExternalReferencesInTopLevelRepositoryRule(\n reference.ruleName,\n { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n result\n );\n }\n const injections = repo.injections(reference.scopeName);\n if (injections) {\n for (const injection of injections) {\n result.add(new TopLevelRuleReference(injection));\n }\n }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n if (context.repository && context.repository[ruleName]) {\n const rule = context.repository[ruleName];\n collectExternalReferencesInRules([rule], context, result);\n }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n collectExternalReferencesInRules(\n context.selfGrammar.patterns,\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n if (context.selfGrammar.injections) {\n collectExternalReferencesInRules(\n Object.values(context.selfGrammar.injections),\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n for (const rule of rules) {\n if (result.visitedRule.has(rule)) {\n continue;\n }\n result.visitedRule.add(rule);\n const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n if (Array.isArray(rule.patterns)) {\n collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n }\n const include = rule.include;\n if (!include) {\n continue;\n }\n const reference = parseInclude(include);\n switch (reference.kind) {\n case 0 /* Base */:\n collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n break;\n case 1 /* Self */:\n collectExternalReferencesInTopLevelRule(context, result);\n break;\n case 2 /* RelativeReference */:\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n if (selfGrammar) {\n const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n } else {\n collectExternalReferencesInTopLevelRule(newContext, result);\n }\n } else {\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n } else {\n result.add(new TopLevelRuleReference(reference.scopeName));\n }\n }\n break;\n }\n }\n}\nvar BaseReference = class {\n kind = 0 /* Base */;\n};\nvar SelfReference = class {\n kind = 1 /* Self */;\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n }\n kind = 2 /* RelativeReference */;\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n kind = 3 /* TopLevelReference */;\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n kind = 4 /* TopLevelRepositoryReference */;\n};\nfunction parseInclude(include) {\n if (include === \"$base\") {\n return new BaseReference();\n } else if (include === \"$self\") {\n return new SelfReference();\n }\n const indexOfSharp = include.indexOf(\"#\");\n if (indexOfSharp === -1) {\n return new TopLevelReference(include);\n } else if (indexOfSharp === 0) {\n return new RelativeReference(include.substring(1));\n } else {\n const scopeName = include.substring(0, indexOfSharp);\n const ruleName = include.substring(indexOfSharp + 1);\n return new TopLevelRepositoryReference(scopeName, ruleName);\n }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n return id;\n}\nfunction ruleIdToNumber(id) {\n return id;\n}\nvar Rule = class {\n $location;\n id;\n _nameIsCapturing;\n _name;\n _contentNameIsCapturing;\n _contentName;\n constructor($location, id, name, contentName) {\n this.$location = $location;\n this.id = id;\n this._name = name || null;\n this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n this._contentName = contentName || null;\n this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n }\n get debugName() {\n const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n return `${this.constructor.name}#${this.id} @ ${location}`;\n }\n getName(lineText, captureIndices) {\n if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n return this._name;\n }\n return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n }\n getContentName(lineText, captureIndices) {\n if (!this._contentNameIsCapturing || this._contentName === null) {\n return this._contentName;\n }\n return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n }\n};\nvar CaptureRule = class extends Rule {\n retokenizeCapturedWithRuleId;\n constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n super($location, id, name, contentName);\n this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n }\n dispose() {\n }\n collectPatterns(grammar, out) {\n throw new Error(\"Not supported!\");\n }\n compile(grammar, endRegexSource) {\n throw new Error(\"Not supported!\");\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n throw new Error(\"Not supported!\");\n }\n};\nvar MatchRule = class extends Rule {\n _match;\n captures;\n _cachedCompiledPatterns;\n constructor($location, id, name, match, captures) {\n super($location, id, name, null);\n this._match = new RegExpSource(match, this.id);\n this.captures = captures;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugMatchRegExp() {\n return `${this._match.source}`;\n }\n collectPatterns(grammar, out) {\n out.push(this._match);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar IncludeOnlyRule = class extends Rule {\n hasMissingPatterns;\n patterns;\n _cachedCompiledPatterns;\n constructor($location, id, name, contentName, patterns) {\n super($location, id, name, contentName);\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n collectPatterns(grammar, out) {\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, out);\n }\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginEndRule = class extends Rule {\n _begin;\n beginCaptures;\n _end;\n endHasBackReferences;\n endCaptures;\n applyEndPatternLast;\n hasMissingPatterns;\n patterns;\n _cachedCompiledPatterns;\n constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n this.endHasBackReferences = this._end.hasBackReferences;\n this.endCaptures = endCaptures;\n this.applyEndPatternLast = applyEndPatternLast || false;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugEndRegExp() {\n return `${this._end.source}`;\n }\n getEndWithResolvedBackReferences(lineText, captureIndices) {\n return this._end.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n } else {\n this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n }\n }\n if (this._end.hasBackReferences) {\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n } else {\n this._cachedCompiledPatterns.setSource(0, endRegexSource);\n }\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginWhileRule = class extends Rule {\n _begin;\n beginCaptures;\n whileCaptures;\n _while;\n whileHasBackReferences;\n hasMissingPatterns;\n patterns;\n _cachedCompiledPatterns;\n _cachedCompiledWhilePatterns;\n constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this.whileCaptures = whileCaptures;\n this._while = new RegExpSource(_while, whileRuleId);\n this.whileHasBackReferences = this._while.hasBackReferences;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n this._cachedCompiledWhilePatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n if (this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns.dispose();\n this._cachedCompiledWhilePatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugWhileRegExp() {\n return `${this._while.source}`;\n }\n getWhileWithResolvedBackReferences(lineText, captureIndices) {\n return this._while.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n }\n return this._cachedCompiledPatterns;\n }\n compileWhile(grammar, endRegexSource) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n }\n compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns = new RegExpSourceList();\n this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n }\n if (this._while.hasBackReferences) {\n this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n }\n return this._cachedCompiledWhilePatterns;\n }\n};\nvar RuleFactory = class _RuleFactory {\n static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n return helper.registerRule((id) => {\n return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n });\n }\n static getCompiledRuleId(desc, helper, repository) {\n if (!desc.id) {\n helper.registerRule((id) => {\n desc.id = id;\n if (desc.match) {\n return new MatchRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.match,\n _RuleFactory._compileCaptures(desc.captures, helper, repository)\n );\n }\n if (typeof desc.begin === \"undefined\") {\n if (desc.repository) {\n repository = mergeObjects({}, repository, desc.repository);\n }\n let patterns = desc.patterns;\n if (typeof patterns === \"undefined\" && desc.include) {\n patterns = [{ include: desc.include }];\n }\n return new IncludeOnlyRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n _RuleFactory._compilePatterns(patterns, helper, repository)\n );\n }\n if (desc.while) {\n return new BeginWhileRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.while,\n _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n }\n return new BeginEndRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.end,\n _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n desc.applyEndPatternLast,\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n });\n }\n return desc.id;\n }\n static _compileCaptures(captures, helper, repository) {\n let r = [];\n if (captures) {\n let maximumCaptureId = 0;\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n if (numericCaptureId > maximumCaptureId) {\n maximumCaptureId = numericCaptureId;\n }\n }\n for (let i = 0; i <= maximumCaptureId; i++) {\n r[i] = null;\n }\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n let retokenizeCapturedWithRuleId = 0;\n if (captures[captureId].patterns) {\n retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n }\n r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n }\n }\n return r;\n }\n static _compilePatterns(patterns, helper, repository) {\n let r = [];\n if (patterns) {\n for (let i = 0, len = patterns.length; i < len; i++) {\n const pattern = patterns[i];\n let ruleId = -1;\n if (pattern.include) {\n const reference = parseInclude(pattern.include);\n switch (reference.kind) {\n case 0 /* Base */:\n case 1 /* Self */:\n ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n break;\n case 2 /* RelativeReference */:\n let localIncludedRule = repository[reference.ruleName];\n if (localIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n } else {\n }\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const externalGrammarName = reference.scopeName;\n const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n if (externalGrammar) {\n if (externalGrammarInclude) {\n let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n if (externalIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n } else {\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n }\n } else {\n }\n break;\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n }\n if (ruleId !== -1) {\n const rule = helper.getRule(ruleId);\n let skipRule = false;\n if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n skipRule = true;\n }\n }\n if (skipRule) {\n continue;\n }\n r.push(ruleId);\n }\n }\n }\n return {\n patterns: r,\n hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n };\n }\n};\nvar RegExpSource = class _RegExpSource {\n source;\n ruleId;\n hasAnchor;\n hasBackReferences;\n _anchorCache;\n constructor(regExpSource, ruleId) {\n if (regExpSource && typeof regExpSource === \"string\") {\n const len = regExpSource.length;\n let lastPushedPos = 0;\n let output = [];\n let hasAnchor = false;\n for (let pos = 0; pos < len; pos++) {\n const ch = regExpSource.charAt(pos);\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n const nextCh = regExpSource.charAt(pos + 1);\n if (nextCh === \"z\") {\n output.push(regExpSource.substring(lastPushedPos, pos));\n output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n lastPushedPos = pos + 2;\n } else if (nextCh === \"A\" || nextCh === \"G\") {\n hasAnchor = true;\n }\n pos++;\n }\n }\n }\n this.hasAnchor = hasAnchor;\n if (lastPushedPos === 0) {\n this.source = regExpSource;\n } else {\n output.push(regExpSource.substring(lastPushedPos, len));\n this.source = output.join(\"\");\n }\n } else {\n this.hasAnchor = false;\n this.source = regExpSource;\n }\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n } else {\n this._anchorCache = null;\n }\n this.ruleId = ruleId;\n if (typeof this.source === \"string\") {\n this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n } else {\n this.hasBackReferences = false;\n }\n }\n clone() {\n return new _RegExpSource(this.source, this.ruleId);\n }\n setSource(newSource) {\n if (this.source === newSource) {\n return;\n }\n this.source = newSource;\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n }\n }\n resolveBackReferences(lineText, captureIndices) {\n if (typeof this.source !== \"string\") {\n throw new Error(\"This method should only be called if the source is a string\");\n }\n let capturedValues = captureIndices.map((capture) => {\n return lineText.substring(capture.start, capture.end);\n });\n BACK_REFERENCING_END.lastIndex = 0;\n return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n });\n }\n _buildAnchorCache() {\n if (typeof this.source !== \"string\") {\n throw new Error(\"This method should only be called if the source is a string\");\n }\n let A0_G0_result = [];\n let A0_G1_result = [];\n let A1_G0_result = [];\n let A1_G1_result = [];\n let pos, len, ch, nextCh;\n for (pos = 0, len = this.source.length; pos < len; pos++) {\n ch = this.source.charAt(pos);\n A0_G0_result[pos] = ch;\n A0_G1_result[pos] = ch;\n A1_G0_result[pos] = ch;\n A1_G1_result[pos] = ch;\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n nextCh = this.source.charAt(pos + 1);\n if (nextCh === \"A\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"\\uFFFF\";\n A1_G0_result[pos + 1] = \"A\";\n A1_G1_result[pos + 1] = \"A\";\n } else if (nextCh === \"G\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"G\";\n A1_G0_result[pos + 1] = \"\\uFFFF\";\n A1_G1_result[pos + 1] = \"G\";\n } else {\n A0_G0_result[pos + 1] = nextCh;\n A0_G1_result[pos + 1] = nextCh;\n A1_G0_result[pos + 1] = nextCh;\n A1_G1_result[pos + 1] = nextCh;\n }\n pos++;\n }\n }\n }\n return {\n A0_G0: A0_G0_result.join(\"\"),\n A0_G1: A0_G1_result.join(\"\"),\n A1_G0: A1_G0_result.join(\"\"),\n A1_G1: A1_G1_result.join(\"\")\n };\n }\n resolveAnchors(allowA, allowG) {\n if (!this.hasAnchor || !this._anchorCache || typeof this.source !== \"string\") {\n return this.source;\n }\n if (allowA) {\n if (allowG) {\n return this._anchorCache.A1_G1;\n } else {\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n return this._anchorCache.A0_G1;\n } else {\n return this._anchorCache.A0_G0;\n }\n }\n }\n};\nvar RegExpSourceList = class {\n _items;\n _hasAnchors;\n _cached;\n _anchorCache;\n constructor() {\n this._items = [];\n this._hasAnchors = false;\n this._cached = null;\n this._anchorCache = {\n A0_G0: null,\n A0_G1: null,\n A1_G0: null,\n A1_G1: null\n };\n }\n dispose() {\n this._disposeCaches();\n }\n _disposeCaches() {\n if (this._cached) {\n this._cached.dispose();\n this._cached = null;\n }\n if (this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0.dispose();\n this._anchorCache.A0_G0 = null;\n }\n if (this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1.dispose();\n this._anchorCache.A0_G1 = null;\n }\n if (this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0.dispose();\n this._anchorCache.A1_G0 = null;\n }\n if (this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1.dispose();\n this._anchorCache.A1_G1 = null;\n }\n }\n push(item) {\n this._items.push(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n unshift(item) {\n this._items.unshift(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n length() {\n return this._items.length;\n }\n setSource(index, newSource) {\n if (this._items[index].source !== newSource) {\n this._disposeCaches();\n this._items[index].setSource(newSource);\n }\n }\n compile(onigLib) {\n if (!this._cached) {\n let regExps = this._items.map((e) => e.source);\n this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n return this._cached;\n }\n compileAG(onigLib, allowA, allowG) {\n if (!this._hasAnchors) {\n return this.compile(onigLib);\n } else {\n if (allowA) {\n if (allowG) {\n if (!this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G1;\n } else {\n if (!this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n if (!this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G1;\n } else {\n if (!this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G0;\n }\n }\n }\n }\n _resolveAnchors(onigLib, allowA, allowG) {\n let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n};\nvar CompiledRule = class {\n constructor(onigLib, regExps, rules) {\n this.regExps = regExps;\n this.rules = rules;\n this.scanner = onigLib.createOnigScanner(regExps);\n }\n scanner;\n dispose() {\n if (typeof this.scanner.dispose === \"function\") {\n this.scanner.dispose();\n }\n }\n toString() {\n const r = [];\n for (let i = 0, len = this.rules.length; i < len; i++) {\n r.push(\" - \" + this.rules[i] + \": \" + this.regExps[i]);\n }\n return r.join(\"\\n\");\n }\n findNextMatchSync(string, startPosition, options) {\n const result = this.scanner.findNextMatchSync(string, startPosition, options);\n if (!result) {\n return null;\n }\n return {\n ruleId: this.rules[result.index],\n captureIndices: result.captureIndices\n };\n }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n constructor(languageId, tokenType) {\n this.languageId = languageId;\n this.tokenType = tokenType;\n }\n};\nvar BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n _defaultAttributes;\n _embeddedLanguagesMatcher;\n constructor(initialLanguageId, embeddedLanguages) {\n this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n }\n getDefaultAttributes() {\n return this._defaultAttributes;\n }\n getBasicScopeAttributes(scopeName) {\n if (scopeName === null) {\n return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n }\n return this._getBasicScopeAttributes.get(scopeName);\n }\n static _NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n _getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\n /**\n * Given a produced TM scope, return the language that token describes or null if unknown.\n * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n */\n _scopeToLanguage(scope) {\n return this._embeddedLanguagesMatcher.match(scope) || 0;\n }\n _toStandardTokenType(scopeName) {\n const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n if (!m) {\n return 8 /* NotSet */;\n }\n switch (m[1]) {\n case \"comment\":\n return 1 /* Comment */;\n case \"string\":\n return 2 /* String */;\n case \"regex\":\n return 3 /* RegEx */;\n case \"meta.embedded\":\n return 0 /* Other */;\n }\n throw new Error(\"Unexpected match for standard token type!\");\n }\n static STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\n};\nvar ScopeMatcher = class {\n values;\n scopesRegExp;\n constructor(values) {\n if (values.length === 0) {\n this.values = null;\n this.scopesRegExp = null;\n } else {\n this.values = new Map(values);\n const escapedScopes = values.map(\n ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n );\n escapedScopes.sort();\n escapedScopes.reverse();\n this.scopesRegExp = new RegExp(\n `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n \"\"\n );\n }\n }\n match(scope) {\n if (!this.scopesRegExp) {\n return void 0;\n }\n const m = scope.match(this.scopesRegExp);\n if (!m) {\n return void 0;\n }\n return this.values.get(m[1]);\n }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n constructor(stack, stoppedEarly) {\n this.stack = stack;\n this.stoppedEarly = stoppedEarly;\n }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n const lineLength = lineText.content.length;\n let STOP = false;\n let anchorPosition = -1;\n if (checkWhileConditions) {\n const whileCheckResult = _checkWhileConditions(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n lineTokens\n );\n stack = whileCheckResult.stack;\n linePos = whileCheckResult.linePos;\n isFirstLine = whileCheckResult.isFirstLine;\n anchorPosition = whileCheckResult.anchorPosition;\n }\n const startTime = Date.now();\n while (!STOP) {\n if (timeLimit !== 0) {\n const elapsedTime = Date.now() - startTime;\n if (elapsedTime > timeLimit) {\n return new TokenizeStringResult(stack, true);\n }\n }\n scanNext();\n }\n return new TokenizeStringResult(stack, false);\n function scanNext() {\n if (false) {\n console.log(\"\");\n console.log(\n `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n );\n }\n const r = matchRuleOrInjections(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n anchorPosition\n );\n if (!r) {\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n const captureIndices = r.captureIndices;\n const matchedRuleId = r.matchedRuleId;\n const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n if (matchedRuleId === endRuleId) {\n const poppedRule = stack.getRule(grammar);\n if (false) {\n console.log(\n \" popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n );\n }\n lineTokens.produce(stack, captureIndices[0].start);\n stack = stack.withContentNameScopesList(stack.nameScopesList);\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n poppedRule.endCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n const popped = stack;\n stack = stack.parent;\n anchorPosition = popped.getAnchorPos();\n if (!hasAdvanced && popped.getEnterPos() === linePos) {\n if (false) {\n console.error(\n \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n );\n }\n stack = popped;\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const _rule = grammar.getRule(matchedRuleId);\n lineTokens.produce(stack, captureIndices[0].start);\n const beforePush = stack;\n const scopeName = _rule.getName(lineText.content, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(\n scopeName,\n grammar\n );\n stack = stack.push(\n matchedRuleId,\n linePos,\n anchorPosition,\n captureIndices[0].end === lineLength,\n null,\n nameScopesList,\n nameScopesList\n );\n if (_rule instanceof BeginEndRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\n \" pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.endHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getEndWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else if (_rule instanceof BeginWhileRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\" pushing \" + pushedRule.debugName);\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.whileHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getWhileWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const matchingRule = _rule;\n if (false) {\n console.log(\n \" matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n matchingRule.captures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n stack = stack.pop();\n if (!hasAdvanced) {\n if (false) {\n console.error(\n \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n );\n }\n stack = stack.safePop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n }\n }\n if (captureIndices[0].end > linePos) {\n linePos = captureIndices[0].end;\n isFirstLine = false;\n }\n }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n const whileRules = [];\n for (let node = stack; node; node = node.pop()) {\n const nodeRule = node.getRule(grammar);\n if (nodeRule instanceof BeginWhileRule) {\n whileRules.push({\n rule: nodeRule,\n stack: node\n });\n }\n }\n for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (false) {\n console.log(\" scanning for while rule\");\n console.log(ruleScanner.toString());\n }\n if (r) {\n const matchedRuleId = r.ruleId;\n if (matchedRuleId !== whileRuleId) {\n stack = whileRule.stack.pop();\n break;\n }\n if (r.captureIndices && r.captureIndices.length) {\n lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n anchorPosition = r.captureIndices[0].end;\n if (r.captureIndices[0].end > linePos) {\n linePos = r.captureIndices[0].end;\n isFirstLine = false;\n }\n }\n } else {\n if (false) {\n console.log(\" popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n }\n stack = whileRule.stack.pop();\n break;\n }\n }\n return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n const injections = grammar.getInjections();\n if (injections.length === 0) {\n return matchResult;\n }\n const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n if (!injectionResult) {\n return matchResult;\n }\n if (!matchResult) {\n return injectionResult;\n }\n const matchResultScore = matchResult.captureIndices[0].start;\n const injectionResultScore = injectionResult.captureIndices[0].start;\n if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n return injectionResult;\n }\n return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const rule = stack.getRule(grammar);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (r) {\n return {\n captureIndices: r.captureIndices,\n matchedRuleId: r.ruleId\n };\n }\n return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n let bestMatchRating = Number.MAX_VALUE;\n let bestMatchCaptureIndices = null;\n let bestMatchRuleId;\n let bestMatchResultPriority = 0;\n const scopes = stack.contentNameScopesList.getScopeNames();\n for (let i = 0, len = injections.length; i < len; i++) {\n const injection = injections[i];\n if (!injection.matcher(scopes)) {\n continue;\n }\n const rule = grammar.getRule(injection.ruleId);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (!matchResult) {\n continue;\n }\n if (false) {\n console.log(` matched injection: ${injection.debugSelector}`);\n console.log(ruleScanner.toString());\n }\n const matchRating = matchResult.captureIndices[0].start;\n if (matchRating >= bestMatchRating) {\n continue;\n }\n bestMatchRating = matchRating;\n bestMatchCaptureIndices = matchResult.captureIndices;\n bestMatchRuleId = matchResult.ruleId;\n bestMatchResultPriority = injection.priority;\n if (bestMatchRating === linePos) {\n break;\n }\n }\n if (bestMatchCaptureIndices) {\n return {\n priorityMatch: bestMatchResultPriority === -1,\n captureIndices: bestMatchCaptureIndices,\n matchedRuleId: bestMatchRuleId\n };\n }\n return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n let options = 0 /* None */;\n if (!allowA) {\n options |= 1 /* NotBeginString */;\n }\n if (!allowG) {\n options |= 4 /* NotBeginPosition */;\n }\n return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n if (captures.length === 0) {\n return;\n }\n const lineTextContent = lineText.content;\n const len = Math.min(captures.length, captureIndices.length);\n const localStack = [];\n const maxEnd = captureIndices[0].end;\n for (let i = 0; i < len; i++) {\n const captureRule = captures[i];\n if (captureRule === null) {\n continue;\n }\n const captureIndex = captureIndices[i];\n if (captureIndex.length === 0) {\n continue;\n }\n if (captureIndex.start > maxEnd) {\n break;\n }\n while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n if (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n } else {\n lineTokens.produce(stack, captureIndex.start);\n }\n if (captureRule.retokenizeCapturedWithRuleId) {\n const scopeName = captureRule.getName(lineTextContent, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n _tokenizeString(\n grammar,\n onigSubStr,\n isFirstLine && captureIndex.start === 0,\n captureIndex.start,\n stackClone,\n lineTokens,\n false,\n /* no time limit */\n 0\n );\n disposeOnigString(onigSubStr);\n continue;\n }\n const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n if (captureRuleScopeName !== null) {\n const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n }\n }\n while (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n}\nvar LocalStackElement = class {\n scopes;\n endPos;\n constructor(scopes, endPos) {\n this.scopes = scopes;\n this.endPos = endPos;\n }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n return new Grammar(\n scopeName,\n grammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n grammarRepository,\n onigLib\n );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n const matchers = createMatchers(selector, nameMatcher);\n const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n for (const matcher of matchers) {\n result.push({\n debugSelector: selector,\n matcher: matcher.matcher,\n ruleId,\n grammar,\n priority: matcher.priority\n });\n }\n}\nfunction nameMatcher(identifers, scopes) {\n if (scopes.length < identifers.length) {\n return false;\n }\n let lastIndex = 0;\n return identifers.every((identifier) => {\n for (let i = lastIndex; i < scopes.length; i++) {\n if (scopesAreMatching(scopes[i], identifier)) {\n lastIndex = i + 1;\n return true;\n }\n }\n return false;\n });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n if (!thisScopeName) {\n return false;\n }\n if (thisScopeName === scopeName) {\n return true;\n }\n const len = scopeName.length;\n return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n this._rootScopeName = _rootScopeName;\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._onigLib = _onigLib;\n this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n initialLanguage,\n embeddedLanguages\n );\n this._rootId = -1;\n this._lastRuleId = 0;\n this._ruleId2desc = [null];\n this._includedGrammars = {};\n this._grammarRepository = grammarRepository;\n this._grammar = initGrammar(grammar, null);\n this._injections = null;\n this._tokenTypeMatchers = [];\n if (tokenTypes) {\n for (const selector of Object.keys(tokenTypes)) {\n const matchers = createMatchers(selector, nameMatcher);\n for (const matcher of matchers) {\n this._tokenTypeMatchers.push({\n matcher: matcher.matcher,\n type: tokenTypes[selector]\n });\n }\n }\n }\n }\n _rootId;\n _lastRuleId;\n _ruleId2desc;\n _includedGrammars;\n _grammarRepository;\n _grammar;\n _injections;\n _basicScopeAttributesProvider;\n _tokenTypeMatchers;\n get themeProvider() {\n return this._grammarRepository;\n }\n dispose() {\n for (const rule of this._ruleId2desc) {\n if (rule) {\n rule.dispose();\n }\n }\n }\n createOnigScanner(sources) {\n return this._onigLib.createOnigScanner(sources);\n }\n createOnigString(sources) {\n return this._onigLib.createOnigString(sources);\n }\n getMetadataForScope(scope) {\n return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n }\n _collectInjections() {\n const grammarRepository = {\n lookup: (scopeName2) => {\n if (scopeName2 === this._rootScopeName) {\n return this._grammar;\n }\n return this.getExternalGrammar(scopeName2);\n },\n injections: (scopeName2) => {\n return this._grammarRepository.injections(scopeName2);\n }\n };\n const result = [];\n const scopeName = this._rootScopeName;\n const grammar = grammarRepository.lookup(scopeName);\n if (grammar) {\n const rawInjections = grammar.injections;\n if (rawInjections) {\n for (let expression in rawInjections) {\n collectInjections(\n result,\n expression,\n rawInjections[expression],\n this,\n grammar\n );\n }\n }\n const injectionScopeNames = this._grammarRepository.injections(scopeName);\n if (injectionScopeNames) {\n injectionScopeNames.forEach((injectionScopeName) => {\n const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n if (injectionGrammar) {\n const selector = injectionGrammar.injectionSelector;\n if (selector) {\n collectInjections(\n result,\n selector,\n injectionGrammar,\n this,\n injectionGrammar\n );\n }\n }\n });\n }\n }\n result.sort((i1, i2) => i1.priority - i2.priority);\n return result;\n }\n getInjections() {\n if (this._injections === null) {\n this._injections = this._collectInjections();\n }\n return this._injections;\n }\n registerRule(factory) {\n const id = ++this._lastRuleId;\n const result = factory(ruleIdFromNumber(id));\n this._ruleId2desc[id] = result;\n return result;\n }\n getRule(ruleId) {\n return this._ruleId2desc[ruleIdToNumber(ruleId)];\n }\n getExternalGrammar(scopeName, repository) {\n if (this._includedGrammars[scopeName]) {\n return this._includedGrammars[scopeName];\n } else if (this._grammarRepository) {\n const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n if (rawIncludedGrammar) {\n this._includedGrammars[scopeName] = initGrammar(\n rawIncludedGrammar,\n repository && repository.$base\n );\n return this._includedGrammars[scopeName];\n }\n }\n return void 0;\n }\n tokenizeLine(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, false, timeLimit);\n return {\n tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n tokenizeLine2(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, true, timeLimit);\n return {\n tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n if (this._rootId === -1) {\n this._rootId = RuleFactory.getCompiledRuleId(\n this._grammar.repository.$self,\n this,\n this._grammar.repository\n );\n this.getInjections();\n }\n let isFirstLine;\n if (!prevState || prevState === StateStackImpl.NULL) {\n isFirstLine = true;\n const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n const defaultStyle = this.themeProvider.getDefaults();\n const defaultMetadata = EncodedTokenMetadata.set(\n 0,\n rawDefaultMetadata.languageId,\n rawDefaultMetadata.tokenType,\n null,\n defaultStyle.fontStyle,\n defaultStyle.foregroundId,\n defaultStyle.backgroundId\n );\n const rootScopeName = this.getRule(this._rootId).getName(\n null,\n null\n );\n let scopeList;\n if (rootScopeName) {\n scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n rootScopeName,\n defaultMetadata,\n this\n );\n } else {\n scopeList = AttributedScopeStack.createRoot(\n \"unknown\",\n defaultMetadata\n );\n }\n prevState = new StateStackImpl(\n null,\n this._rootId,\n -1,\n -1,\n false,\n null,\n scopeList,\n scopeList\n );\n } else {\n isFirstLine = false;\n prevState.reset();\n }\n lineText = lineText + \"\\n\";\n const onigLineText = this.createOnigString(lineText);\n const lineLength = onigLineText.content.length;\n const lineTokens = new LineTokens(\n emitBinaryTokens,\n lineText,\n this._tokenTypeMatchers,\n this.balancedBracketSelectors\n );\n const r = _tokenizeString(\n this,\n onigLineText,\n isFirstLine,\n 0,\n prevState,\n lineTokens,\n true,\n timeLimit\n );\n disposeOnigString(onigLineText);\n return {\n lineLength,\n lineTokens,\n ruleStack: r.stack,\n stoppedEarly: r.stoppedEarly\n };\n }\n};\nfunction initGrammar(grammar, base) {\n grammar = clone(grammar);\n grammar.repository = grammar.repository || {};\n grammar.repository.$self = {\n $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n patterns: grammar.patterns,\n name: grammar.scopeName\n };\n grammar.repository.$base = base || grammar.repository.$self;\n return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n /**\n * Invariant:\n * ```\n * if (parent && !scopePath.extends(parent.scopePath)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, scopePath, tokenAttributes) {\n this.parent = parent;\n this.scopePath = scopePath;\n this.tokenAttributes = tokenAttributes;\n }\n static fromExtension(namesScopeList, contentNameScopesList) {\n let current = namesScopeList;\n let scopeNames = namesScopeList?.scopePath ?? null;\n for (const frame of contentNameScopesList) {\n scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n }\n return current;\n }\n static createRoot(scopeName, tokenAttributes) {\n return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n }\n static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n const scopePath = new ScopeStack(null, scopeName);\n const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n tokenAttributes,\n rawRootMetadata,\n rootStyle\n );\n return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n }\n get scopeName() {\n return this.scopePath.scopeName;\n }\n toString() {\n return this.getScopeNames().join(\" \");\n }\n equals(other) {\n return _AttributedScopeStack.equals(this, other);\n }\n static equals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n let fontStyle = -1 /* NotSet */;\n let foreground = 0;\n let background = 0;\n if (styleAttributes !== null) {\n fontStyle = styleAttributes.fontStyle;\n foreground = styleAttributes.foregroundId;\n background = styleAttributes.backgroundId;\n }\n return EncodedTokenMetadata.set(\n existingTokenAttributes,\n basicScopeAttributes.languageId,\n basicScopeAttributes.tokenType,\n null,\n fontStyle,\n foreground,\n background\n );\n }\n pushAttributed(scopePath, grammar) {\n if (scopePath === null) {\n return this;\n }\n if (scopePath.indexOf(\" \") === -1) {\n return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n }\n const scopes = scopePath.split(/ /g);\n let result = this;\n for (const scope of scopes) {\n result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n }\n return result;\n }\n static _pushAttributed(target, scopeName, grammar) {\n const rawMetadata = grammar.getMetadataForScope(scopeName);\n const newPath = target.scopePath.push(scopeName);\n const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n const metadata = _AttributedScopeStack.mergeAttributes(\n target.tokenAttributes,\n rawMetadata,\n scopeThemeMatchResult\n );\n return new _AttributedScopeStack(target, newPath, metadata);\n }\n getScopeNames() {\n return this.scopePath.getSegments();\n }\n getExtensionIfDefined(base) {\n const result = [];\n let self = this;\n while (self && self !== base) {\n result.push({\n encodedTokenAttributes: self.tokenAttributes,\n scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n });\n self = self.parent;\n }\n return self === base ? result.reverse() : void 0;\n }\n};\nvar StateStackImpl = class _StateStackImpl {\n /**\n * Invariant:\n * ```\n * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n * \tthrow new Error();\n * }\n * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n this.parent = parent;\n this.ruleId = ruleId;\n this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n this.endRule = endRule;\n this.nameScopesList = nameScopesList;\n this.contentNameScopesList = contentNameScopesList;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\n _stackElementBrand = void 0;\n // TODO remove me\n static NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n );\n /**\n * The position on the current line where this state was pushed.\n * This is relevant only while tokenizing a line, to detect endless loops.\n * Its value is meaningless across lines.\n */\n _enterPos;\n /**\n * The captured anchor position when this stack element was pushed.\n * This is relevant only while tokenizing a line, to restore the anchor position when popping.\n * Its value is meaningless across lines.\n */\n _anchorPos;\n /**\n * The depth of the stack.\n */\n depth;\n equals(other) {\n if (other === null) {\n return false;\n }\n return _StateStackImpl._equals(this, other);\n }\n static _equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!this._structuralEquals(a, b)) {\n return false;\n }\n return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n }\n /**\n * A structural equals check. Does not take into account `scopes`.\n */\n static _structuralEquals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n clone() {\n return this;\n }\n static _reset(el) {\n while (el) {\n el._enterPos = -1;\n el._anchorPos = -1;\n el = el.parent;\n }\n }\n reset() {\n _StateStackImpl._reset(this);\n }\n pop() {\n return this.parent;\n }\n safePop() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n return new _StateStackImpl(\n this,\n ruleId,\n enterPos,\n anchorPos,\n beginRuleCapturedEOL,\n endRule,\n nameScopesList,\n contentNameScopesList\n );\n }\n getEnterPos() {\n return this._enterPos;\n }\n getAnchorPos() {\n return this._anchorPos;\n }\n getRule(grammar) {\n return grammar.getRule(this.ruleId);\n }\n toString() {\n const r = [];\n this._writeString(r, 0);\n return \"[\" + r.join(\",\") + \"]\";\n }\n _writeString(res, outIndex) {\n if (this.parent) {\n outIndex = this.parent._writeString(res, outIndex);\n }\n res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n return outIndex;\n }\n withContentNameScopesList(contentNameScopeStack) {\n if (this.contentNameScopesList === contentNameScopeStack) {\n return this;\n }\n return this.parent.push(\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n this.endRule,\n this.nameScopesList,\n contentNameScopeStack\n );\n }\n withEndRule(endRule) {\n if (this.endRule === endRule) {\n return this;\n }\n return new _StateStackImpl(\n this.parent,\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n endRule,\n this.nameScopesList,\n this.contentNameScopesList\n );\n }\n // Used to warn of endless loops\n hasSameRuleAs(other) {\n let el = this;\n while (el && el._enterPos === other._enterPos) {\n if (el.ruleId === other.ruleId) {\n return true;\n }\n el = el.parent;\n }\n return false;\n }\n toStateStackFrame() {\n return {\n ruleId: ruleIdToNumber(this.ruleId),\n beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n endRule: this.endRule,\n nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n };\n }\n static pushFrame(self, frame) {\n const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n return new _StateStackImpl(\n self,\n ruleIdFromNumber(frame.ruleId),\n frame.enterPos ?? -1,\n frame.anchorPos ?? -1,\n frame.beginRuleCapturedEOL,\n frame.endRule,\n namesScopeList,\n AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n );\n }\n};\nvar BalancedBracketSelectors = class {\n balancedBracketScopes;\n unbalancedBracketScopes;\n allowAny = false;\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.balancedBracketScopes = balancedBracketScopes.flatMap(\n (selector) => {\n if (selector === \"*\") {\n this.allowAny = true;\n return [];\n }\n return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n }\n );\n this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n );\n }\n get matchesAlways() {\n return this.allowAny && this.unbalancedBracketScopes.length === 0;\n }\n get matchesNever() {\n return this.balancedBracketScopes.length === 0 && !this.allowAny;\n }\n match(scopes) {\n for (const excluder of this.unbalancedBracketScopes) {\n if (excluder(scopes)) {\n return false;\n }\n }\n for (const includer of this.balancedBracketScopes) {\n if (includer(scopes)) {\n return true;\n }\n }\n return this.allowAny;\n }\n};\nvar LineTokens = class {\n constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._emitBinaryTokens = emitBinaryTokens;\n this._tokenTypeOverrides = tokenTypeOverrides;\n if (false) {\n this._lineText = lineText;\n } else {\n this._lineText = null;\n }\n this._tokens = [];\n this._binaryTokens = [];\n this._lastTokenEndIndex = 0;\n }\n _emitBinaryTokens;\n /**\n * defined only if `false`.\n */\n _lineText;\n /**\n * used only if `_emitBinaryTokens` is false.\n */\n _tokens;\n /**\n * used only if `_emitBinaryTokens` is true.\n */\n _binaryTokens;\n _lastTokenEndIndex;\n _tokenTypeOverrides;\n produce(stack, endIndex) {\n this.produceFromScopes(stack.contentNameScopesList, endIndex);\n }\n produceFromScopes(scopesList, endIndex) {\n if (this._lastTokenEndIndex >= endIndex) {\n return;\n }\n if (this._emitBinaryTokens) {\n let metadata = scopesList?.tokenAttributes ?? 0;\n let containsBalancedBrackets = false;\n if (this.balancedBracketSelectors?.matchesAlways) {\n containsBalancedBrackets = true;\n }\n if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n const scopes2 = scopesList?.getScopeNames() ?? [];\n for (const tokenType of this._tokenTypeOverrides) {\n if (tokenType.matcher(scopes2)) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n toOptionalTokenType(tokenType.type),\n null,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n }\n if (this.balancedBracketSelectors) {\n containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n }\n }\n if (containsBalancedBrackets) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n 8 /* NotSet */,\n containsBalancedBrackets,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n this._lastTokenEndIndex = endIndex;\n return;\n }\n this._binaryTokens.push(this._lastTokenEndIndex);\n this._binaryTokens.push(metadata);\n this._lastTokenEndIndex = endIndex;\n return;\n }\n const scopes = scopesList?.getScopeNames() ?? [];\n this._tokens.push({\n startIndex: this._lastTokenEndIndex,\n endIndex,\n // value: lineText.substring(lastTokenEndIndex, endIndex),\n scopes\n });\n this._lastTokenEndIndex = endIndex;\n }\n getResult(stack, lineLength) {\n if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n this._tokens.pop();\n }\n if (this._tokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._tokens[this._tokens.length - 1].startIndex = 0;\n }\n return this._tokens;\n }\n getBinaryResult(stack, lineLength) {\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n this._binaryTokens.pop();\n this._binaryTokens.pop();\n }\n if (this._binaryTokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._binaryTokens[this._binaryTokens.length - 2] = 0;\n }\n const result = new Uint32Array(this._binaryTokens.length);\n for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n result[i] = this._binaryTokens[i];\n }\n return result;\n }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n constructor(theme, _onigLib) {\n this._onigLib = _onigLib;\n this._theme = theme;\n }\n _grammars = /* @__PURE__ */ new Map();\n _rawGrammars = /* @__PURE__ */ new Map();\n _injectionGrammars = /* @__PURE__ */ new Map();\n _theme;\n dispose() {\n for (const grammar of this._grammars.values()) {\n grammar.dispose();\n }\n }\n setTheme(theme) {\n this._theme = theme;\n }\n getColorMap() {\n return this._theme.getColorMap();\n }\n /**\n * Add `grammar` to registry and return a list of referenced scope names\n */\n addGrammar(grammar, injectionScopeNames) {\n this._rawGrammars.set(grammar.scopeName, grammar);\n if (injectionScopeNames) {\n this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n }\n }\n /**\n * Lookup a raw grammar.\n */\n lookup(scopeName) {\n return this._rawGrammars.get(scopeName);\n }\n /**\n * Returns the injections for the given grammar\n */\n injections(targetScope) {\n return this._injectionGrammars.get(targetScope);\n }\n /**\n * Get the default theme settings\n */\n getDefaults() {\n return this._theme.getDefaults();\n }\n /**\n * Match a scope in the theme.\n */\n themeMatch(scopePath) {\n return this._theme.match(scopePath);\n }\n /**\n * Lookup a grammar.\n */\n grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n if (!this._grammars.has(scopeName)) {\n let rawGrammar = this._rawGrammars.get(scopeName);\n if (!rawGrammar) {\n return null;\n }\n this._grammars.set(scopeName, createGrammar(\n scopeName,\n rawGrammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n this,\n this._onigLib\n ));\n }\n return this._grammars.get(scopeName);\n }\n};\n\n// src/index.ts\nvar Registry = class {\n _options;\n _syncRegistry;\n _ensureGrammarCache;\n constructor(options) {\n this._options = options;\n this._syncRegistry = new SyncRegistry(\n Theme.createFromRawTheme(options.theme, options.colorMap),\n options.onigLib\n );\n this._ensureGrammarCache = /* @__PURE__ */ new Map();\n }\n dispose() {\n this._syncRegistry.dispose();\n }\n /**\n * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n */\n setTheme(theme, colorMap) {\n this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n }\n /**\n * Returns a lookup array for color ids.\n */\n getColorMap() {\n return this._syncRegistry.getColorMap();\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n return this._loadGrammar(\n initialScopeName,\n initialLanguage,\n configuration.embeddedLanguages,\n configuration.tokenTypes,\n new BalancedBracketSelectors(\n configuration.balancedBracketSelectors || [],\n configuration.unbalancedBracketSelectors || []\n )\n );\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n */\n loadGrammar(initialScopeName) {\n return this._loadGrammar(initialScopeName, 0, null, null, null);\n }\n _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n while (dependencyProcessor.Q.length > 0) {\n dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n dependencyProcessor.processQueue();\n }\n return this._grammarForScopeName(\n initialScopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n _loadSingleGrammar(scopeName) {\n if (!this._ensureGrammarCache.has(scopeName)) {\n this._doLoadSingleGrammar(scopeName);\n this._ensureGrammarCache.set(scopeName, true);\n }\n }\n _doLoadSingleGrammar(scopeName) {\n const grammar = this._options.loadGrammar(scopeName);\n if (grammar) {\n const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n this._syncRegistry.addGrammar(grammar, injections);\n }\n }\n /**\n * Adds a rawGrammar.\n */\n addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n this._syncRegistry.addGrammar(rawGrammar, injections);\n return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n }\n /**\n * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n */\n _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n return this._syncRegistry.grammarForScopeName(\n scopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n EncodedTokenMetadata,\n FindOption,\n FontStyle,\n INITIAL,\n Registry,\n Theme,\n disposeOnigString\n};\n","import { ShikiError } from \"@shikijs/types\";\nimport { EncodedTokenMetadata, INITIAL, Registry as Registry$1, Theme } from \"@shikijs/vscode-textmate\";\n\nexport * from \"@shikijs/types\"\n\n//#region src/utils/colors.ts\nfunction resolveColorReplacements(theme, options) {\n\tconst replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n\tconst themeName = typeof theme === \"string\" ? theme : theme.name;\n\tfor (const [key, value] of Object.entries(options?.colorReplacements || {})) if (typeof value === \"string\") replacements[key] = value;\n\telse if (key === themeName) Object.assign(replacements, value);\n\treturn replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n\tif (!color) return color;\n\treturn replacements?.[color?.toLowerCase()] || color;\n}\n\n//#endregion\n//#region src/utils/general.ts\nfunction toArray(x) {\n\treturn Array.isArray(x) ? x : [x];\n}\n/**\n* Normalize a getter to a promise.\n*/\nasync function normalizeGetter(p) {\n\treturn Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\n/**\n* Check if the language is plaintext that is ignored by Shiki.\n*\n* Hard-coded plain text languages: `plaintext`, `txt`, `text`, `plain`.\n*/\nfunction isPlainLang(lang) {\n\treturn !lang || [\n\t\t\"plaintext\",\n\t\t\"txt\",\n\t\t\"text\",\n\t\t\"plain\"\n\t].includes(lang);\n}\n/**\n* Check if the language is specially handled or bypassed by Shiki.\n*\n* Hard-coded languages: `ansi` and plaintexts like `plaintext`, `txt`, `text`, `plain`.\n*/\nfunction isSpecialLang(lang) {\n\treturn lang === \"ansi\" || isPlainLang(lang);\n}\n/**\n* Check if the theme is specially handled or bypassed by Shiki.\n*\n* Hard-coded themes: `none`.\n*/\nfunction isNoneTheme(theme) {\n\treturn theme === \"none\";\n}\n/**\n* Check if the theme is specially handled or bypassed by Shiki.\n*\n* Hard-coded themes: `none`.\n*/\nfunction isSpecialTheme(theme) {\n\treturn isNoneTheme(theme);\n}\n\n//#endregion\n//#region src/utils/strings.ts\n/**\n* Split a string into lines, each line preserves the line ending.\n*\n* @param code - The code string to split into lines\n* @param preserveEnding - Whether to preserve line endings in the result\n* @returns Array of tuples containing [line content, offset index]\n*\n* @example\n* ```ts\n* splitLines('hello\\nworld', false)\n* // => [['hello', 0], ['world', 6]]\n*\n* splitLines('hello\\nworld', true)\n* // => [['hello\\n', 0], ['world', 6]]\n* ```\n*/\nfunction splitLines(code, preserveEnding = false) {\n\tif (code.length === 0) return [[\"\", 0]];\n\tconst parts = code.split(/(\\r?\\n)/g);\n\tlet index = 0;\n\tconst lines = [];\n\tfor (let i = 0; i < parts.length; i += 2) {\n\t\tconst line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n\t\tlines.push([line, index]);\n\t\tindex += parts[i].length;\n\t\tindex += parts[i + 1]?.length || 0;\n\t}\n\treturn lines;\n}\n\n//#endregion\n//#region src/textmate/normalize-theme.ts\n/**\n* https://github.com/microsoft/vscode/blob/f7f05dee53fb33fe023db2e06e30a89d3094488f/src/vs/platform/theme/common/colorRegistry.ts#L258-L268\n*/\nconst VSCODE_FALLBACK_EDITOR_FG = {\n\tlight: \"#333333\",\n\tdark: \"#bbbbbb\"\n};\nconst VSCODE_FALLBACK_EDITOR_BG = {\n\tlight: \"#fffffe\",\n\tdark: \"#1e1e1e\"\n};\nconst RESOLVED_KEY = \"__shiki_resolved\";\n/**\n* Normalize a textmate theme to shiki theme\n*/\nfunction normalizeTheme(rawTheme) {\n\tif (rawTheme?.[RESOLVED_KEY]) return rawTheme;\n\tconst theme = { ...rawTheme };\n\tif (theme.tokenColors && !theme.settings) {\n\t\ttheme.settings = theme.tokenColors;\n\t\tdelete theme.tokenColors;\n\t}\n\ttheme.type ||= \"dark\";\n\ttheme.colorReplacements = { ...theme.colorReplacements };\n\ttheme.settings ||= [];\n\tlet { bg, fg } = theme;\n\tif (!bg || !fg) {\n\t\t/**\n\t\t* First try:\n\t\t* Theme might contain a global `tokenColor` without `name` or `scope`\n\t\t* Used as default value for foreground/background\n\t\t*/\n\t\tconst globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n\t\tif (globalSetting?.settings?.foreground) fg = globalSetting.settings.foreground;\n\t\tif (globalSetting?.settings?.background) bg = globalSetting.settings.background;\n\t\t/**\n\t\t* Second try:\n\t\t* If there's no global `tokenColor` without `name` or `scope`\n\t\t* Use `editor.foreground` and `editor.background`\n\t\t*/\n\t\tif (!fg && theme?.colors?.[\"editor.foreground\"]) fg = theme.colors[\"editor.foreground\"];\n\t\tif (!bg && theme?.colors?.[\"editor.background\"]) bg = theme.colors[\"editor.background\"];\n\t\t/**\n\t\t* Last try:\n\t\t* If there's no fg/bg color specified in theme, use default\n\t\t*/\n\t\tif (!fg) fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n\t\tif (!bg) bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n\t\ttheme.fg = fg;\n\t\ttheme.bg = bg;\n\t}\n\tif (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) theme.settings.unshift({ settings: {\n\t\tforeground: theme.fg,\n\t\tbackground: theme.bg\n\t} });\n\tlet replacementCount = 0;\n\tconst replacementMap = /* @__PURE__ */ new Map();\n\tfunction getReplacementColor(value) {\n\t\tif (replacementMap.has(value)) return replacementMap.get(value);\n\t\treplacementCount += 1;\n\t\tconst hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n\t\tif (theme.colorReplacements?.[`#${hex}`]) return getReplacementColor(value);\n\t\treplacementMap.set(value, hex);\n\t\treturn hex;\n\t}\n\ttheme.settings = theme.settings.map((setting) => {\n\t\tconst replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n\t\tconst replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n\t\tif (!replaceFg && !replaceBg) return setting;\n\t\tconst clone = {\n\t\t\t...setting,\n\t\t\tsettings: { ...setting.settings }\n\t\t};\n\t\tif (replaceFg) {\n\t\t\tconst replacement = getReplacementColor(setting.settings.foreground);\n\t\t\ttheme.colorReplacements[replacement] = setting.settings.foreground;\n\t\t\tclone.settings.foreground = replacement;\n\t\t}\n\t\tif (replaceBg) {\n\t\t\tconst replacement = getReplacementColor(setting.settings.background);\n\t\t\ttheme.colorReplacements[replacement] = setting.settings.background;\n\t\t\tclone.settings.background = replacement;\n\t\t}\n\t\treturn clone;\n\t});\n\tfor (const key of Object.keys(theme.colors || {})) if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n\t\tif (!theme.colors[key]?.startsWith(\"#\")) {\n\t\t\tconst replacement = getReplacementColor(theme.colors[key]);\n\t\t\ttheme.colorReplacements[replacement] = theme.colors[key];\n\t\t\ttheme.colors[key] = replacement;\n\t\t}\n\t}\n\tObject.defineProperty(theme, RESOLVED_KEY, {\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: true\n\t});\n\treturn theme;\n}\n\n//#endregion\n//#region src/textmate/getters-resolve.ts\n/**\n* Resolve\n*/\nasync function resolveLangs(langs) {\n\treturn Array.from(new Set((await Promise.all(langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r])))).flat()));\n}\nasync function resolveThemes(themes) {\n\treturn (await Promise.all(themes.map(async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))))).filter((i) => !!i);\n}\n\n//#endregion\n//#region src/utils/alias.ts\nfunction resolveLangAlias(name, alias) {\n\tif (!alias) return name;\n\tif (alias[name]) {\n\t\tconst resolved = new Set([name]);\n\t\twhile (alias[name]) {\n\t\t\tname = alias[name];\n\t\t\tif (resolved.has(name)) throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n\t\t\tresolved.add(name);\n\t\t}\n\t}\n\treturn name;\n}\n\n//#endregion\n//#region src/textmate/registry.ts\nvar Registry = class extends Registry$1 {\n\t_resolvedThemes = /* @__PURE__ */ new Map();\n\t_resolvedGrammars = /* @__PURE__ */ new Map();\n\t_langMap = /* @__PURE__ */ new Map();\n\t_langGraph = /* @__PURE__ */ new Map();\n\t_textmateThemeCache = /* @__PURE__ */ new WeakMap();\n\t_loadedThemesCache = null;\n\t_loadedLanguagesCache = null;\n\tconstructor(_resolver, _themes, _langs, _alias = {}) {\n\t\tsuper(_resolver);\n\t\tthis._resolver = _resolver;\n\t\tthis._themes = _themes;\n\t\tthis._langs = _langs;\n\t\tthis._alias = _alias;\n\t\tthis._themes.map((t) => this.loadTheme(t));\n\t\tthis.loadLanguages(this._langs);\n\t}\n\tgetTheme(theme) {\n\t\tif (typeof theme === \"string\") return this._resolvedThemes.get(theme);\n\t\telse return this.loadTheme(theme);\n\t}\n\tloadTheme(theme) {\n\t\tconst _theme = normalizeTheme(theme);\n\t\tif (_theme.name) {\n\t\t\tthis._resolvedThemes.set(_theme.name, _theme);\n\t\t\tthis._loadedThemesCache = null;\n\t\t}\n\t\treturn _theme;\n\t}\n\tgetLoadedThemes() {\n\t\tif (!this._loadedThemesCache) this._loadedThemesCache = [...this._resolvedThemes.keys()];\n\t\treturn this._loadedThemesCache;\n\t}\n\tsetTheme(theme) {\n\t\tlet textmateTheme = this._textmateThemeCache.get(theme);\n\t\tif (!textmateTheme) {\n\t\t\ttextmateTheme = Theme.createFromRawTheme(theme);\n\t\t\tthis._textmateThemeCache.set(theme, textmateTheme);\n\t\t}\n\t\tthis._syncRegistry.setTheme(textmateTheme);\n\t}\n\tgetGrammar(name) {\n\t\tname = resolveLangAlias(name, this._alias);\n\t\treturn this._resolvedGrammars.get(name);\n\t}\n\tloadLanguage(lang) {\n\t\tif (this.getGrammar(lang.name)) return;\n\t\tconst embeddedLazilyBy = new Set([...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name)));\n\t\tthis._resolver.addLanguage(lang);\n\t\tconst grammarConfig = {\n\t\t\tbalancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n\t\t\tunbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n\t\t};\n\t\tthis._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n\t\tconst g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n\t\tg.name = lang.name;\n\t\tthis._resolvedGrammars.set(lang.name, g);\n\t\tif (lang.aliases) lang.aliases.forEach((alias) => {\n\t\t\tthis._alias[alias] = lang.name;\n\t\t});\n\t\tthis._loadedLanguagesCache = null;\n\t\tif (embeddedLazilyBy.size) for (const e of embeddedLazilyBy) {\n\t\t\tthis._resolvedGrammars.delete(e.name);\n\t\t\tthis._loadedLanguagesCache = null;\n\t\t\tthis._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n\t\t\tthis._syncRegistry?._grammars?.delete(e.scopeName);\n\t\t\tthis.loadLanguage(this._langMap.get(e.name));\n\t\t}\n\t}\n\tdispose() {\n\t\tsuper.dispose();\n\t\tthis._resolvedThemes.clear();\n\t\tthis._resolvedGrammars.clear();\n\t\tthis._langMap.clear();\n\t\tthis._langGraph.clear();\n\t\tthis._loadedThemesCache = null;\n\t}\n\tloadLanguages(langs) {\n\t\tfor (const lang of langs) this.resolveEmbeddedLanguages(lang);\n\t\tconst langsGraphArray = Array.from(this._langGraph.entries());\n\t\tconst missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n\t\tif (missingLangs.length) {\n\t\t\tconst dependents = langsGraphArray.filter(([_, lang]) => {\n\t\t\t\tif (!lang) return false;\n\t\t\t\treturn (lang.embeddedLanguages || lang.embeddedLangs)?.some((l) => missingLangs.map(([name]) => name).includes(l));\n\t\t\t}).filter((lang) => !missingLangs.includes(lang));\n\t\t\tthrow new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n\t\t}\n\t\tfor (const [_, lang] of langsGraphArray) this._resolver.addLanguage(lang);\n\t\tfor (const [_, lang] of langsGraphArray) this.loadLanguage(lang);\n\t}\n\tgetLoadedLanguages() {\n\t\tif (!this._loadedLanguagesCache) this._loadedLanguagesCache = [...new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])];\n\t\treturn this._loadedLanguagesCache;\n\t}\n\tresolveEmbeddedLanguages(lang) {\n\t\tthis._langMap.set(lang.name, lang);\n\t\tthis._langGraph.set(lang.name, lang);\n\t\tconst embedded = lang.embeddedLanguages ?? lang.embeddedLangs;\n\t\tif (embedded) for (const embeddedLang of embedded) this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n\t}\n};\n\n//#endregion\n//#region src/textmate/resolver.ts\nvar Resolver = class {\n\t_langs = /* @__PURE__ */ new Map();\n\t_scopeToLang = /* @__PURE__ */ new Map();\n\t_injections = /* @__PURE__ */ new Map();\n\t_onigLib;\n\tconstructor(engine, langs) {\n\t\tthis._onigLib = {\n\t\t\tcreateOnigScanner: (patterns) => engine.createScanner(patterns),\n\t\t\tcreateOnigString: (s) => engine.createString(s)\n\t\t};\n\t\tlangs.forEach((i) => this.addLanguage(i));\n\t}\n\tget onigLib() {\n\t\treturn this._onigLib;\n\t}\n\tgetLangRegistration(langIdOrAlias) {\n\t\treturn this._langs.get(langIdOrAlias);\n\t}\n\tloadGrammar(scopeName) {\n\t\treturn this._scopeToLang.get(scopeName);\n\t}\n\taddLanguage(l) {\n\t\tthis._langs.set(l.name, l);\n\t\tif (l.aliases) l.aliases.forEach((a) => {\n\t\t\tthis._langs.set(a, l);\n\t\t});\n\t\tthis._scopeToLang.set(l.scopeName, l);\n\t\tif (l.injectTo) l.injectTo.forEach((i) => {\n\t\t\tif (!this._injections.get(i)) this._injections.set(i, []);\n\t\t\tthis._injections.get(i).push(l.scopeName);\n\t\t});\n\t}\n\tgetInjections(scopeName) {\n\t\tconst scopeParts = scopeName.split(\".\");\n\t\tlet injections = [];\n\t\tfor (let i = 1; i <= scopeParts.length; i++) {\n\t\t\tconst subScopeName = scopeParts.slice(0, i).join(\".\");\n\t\t\tinjections = [...injections, ...this._injections.get(subScopeName) || []];\n\t\t}\n\t\treturn injections;\n\t}\n};\n\n//#endregion\n//#region src/constructors/primitive.ts\nlet instancesCount = 0;\n/**\n* Get the minimal shiki primitive instance.\n*\n* Requires to provide the engine and all themes and languages upfront.\n*/\nfunction createShikiPrimitive(options) {\n\tinstancesCount += 1;\n\tif (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0) console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n\tlet isDisposed = false;\n\tif (!options.engine) throw new ShikiError(\"`engine` option is required for synchronous mode\");\n\tconst langs = (options.langs || []).flat(1);\n\tconst themes = (options.themes || []).flat(1).map(normalizeTheme);\n\tconst _registry = new Registry(new Resolver(options.engine, langs), themes, langs, options.langAlias);\n\tlet _lastTheme;\n\tfunction resolveLangAlias$1(name) {\n\t\treturn resolveLangAlias(name, options.langAlias);\n\t}\n\tfunction getLanguage(name) {\n\t\tensureNotDisposed();\n\t\tconst _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n\t\tif (!_lang) throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n\t\treturn _lang;\n\t}\n\tfunction getTheme(name) {\n\t\tif (name === \"none\") return {\n\t\t\tbg: \"\",\n\t\t\tfg: \"\",\n\t\t\tname: \"none\",\n\t\t\tsettings: [],\n\t\t\ttype: \"dark\"\n\t\t};\n\t\tensureNotDisposed();\n\t\tconst _theme = _registry.getTheme(name);\n\t\tif (!_theme) throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n\t\treturn _theme;\n\t}\n\tfunction setTheme(name) {\n\t\tensureNotDisposed();\n\t\tconst theme = getTheme(name);\n\t\tif (_lastTheme !== name) {\n\t\t\t_registry.setTheme(theme);\n\t\t\t_lastTheme = name;\n\t\t}\n\t\treturn {\n\t\t\ttheme,\n\t\t\tcolorMap: _registry.getColorMap()\n\t\t};\n\t}\n\tfunction getLoadedThemes() {\n\t\tensureNotDisposed();\n\t\treturn _registry.getLoadedThemes();\n\t}\n\tfunction getLoadedLanguages() {\n\t\tensureNotDisposed();\n\t\treturn _registry.getLoadedLanguages();\n\t}\n\tfunction loadLanguageSync(...langs) {\n\t\tensureNotDisposed();\n\t\t_registry.loadLanguages(langs.flat(1));\n\t}\n\tasync function loadLanguage(...langs) {\n\t\treturn loadLanguageSync(await resolveLangs(langs));\n\t}\n\tfunction loadThemeSync(...themes) {\n\t\tensureNotDisposed();\n\t\tfor (const theme of themes.flat(1)) _registry.loadTheme(theme);\n\t}\n\tasync function loadTheme(...themes) {\n\t\tensureNotDisposed();\n\t\treturn loadThemeSync(await resolveThemes(themes));\n\t}\n\tfunction ensureNotDisposed() {\n\t\tif (isDisposed) throw new ShikiError(\"Shiki instance has been disposed\");\n\t}\n\tfunction dispose() {\n\t\tif (isDisposed) return;\n\t\tisDisposed = true;\n\t\t_registry.dispose();\n\t\tinstancesCount -= 1;\n\t}\n\treturn {\n\t\tsetTheme,\n\t\tgetTheme,\n\t\tgetLanguage,\n\t\tgetLoadedThemes,\n\t\tgetLoadedLanguages,\n\t\tresolveLangAlias: resolveLangAlias$1,\n\t\tloadLanguage,\n\t\tloadLanguageSync,\n\t\tloadTheme,\n\t\tloadThemeSync,\n\t\tdispose,\n\t\t[Symbol.dispose]: dispose\n\t};\n}\n/**\n* @deprecated Use `createShikiPrimitive` instead.\n*/\nconst createShikiInternalSync = createShikiPrimitive;\n\n//#endregion\n//#region src/constructors/async.ts\n/**\n* Get the minimal shiki primitive instance.\n*/\nasync function createShikiPrimitiveAsync(options) {\n\tif (!options.engine) console.warn(\"`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.\");\n\tconst [themes, langs, engine] = await Promise.all([\n\t\tresolveThemes(options.themes || []),\n\t\tresolveLangs(options.langs || []),\n\t\toptions.engine\n\t]);\n\treturn createShikiPrimitive({\n\t\t...options,\n\t\tthemes,\n\t\tlangs,\n\t\tengine\n\t});\n}\n/**\n* @deprecated Use `createShikiPrimitiveAsync` instead.\n*/\nconst createShikiInternal = createShikiPrimitiveAsync;\n\n//#endregion\n//#region src/textmate/grammar-state.ts\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n\t_grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n\treturn _grammarStateMap.get(keys);\n}\n/**\n* GrammarState is a special reference object that holds the state of a grammar.\n*\n* It's used to highlight code snippets that are part of the target language.\n*/\nvar GrammarState = class GrammarState {\n\t/**\n\t* Theme to Stack mapping\n\t*/\n\t_stacks = {};\n\tlang;\n\tget themes() {\n\t\treturn Object.keys(this._stacks);\n\t}\n\tget theme() {\n\t\treturn this.themes[0];\n\t}\n\tget _stack() {\n\t\treturn this._stacks[this.theme];\n\t}\n\t/**\n\t* Static method to create a initial grammar state.\n\t*/\n\tstatic initial(lang, themes) {\n\t\treturn new GrammarState(Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])), lang);\n\t}\n\tconstructor(...args) {\n\t\tif (args.length === 2) {\n\t\t\tconst [stacksMap, lang] = args;\n\t\t\tthis.lang = lang;\n\t\t\tthis._stacks = stacksMap;\n\t\t} else {\n\t\t\tconst [stack, lang, theme] = args;\n\t\t\tthis.lang = lang;\n\t\t\tthis._stacks = { [theme]: stack };\n\t\t}\n\t}\n\t/**\n\t* Get the internal stack object.\n\t* @internal\n\t*/\n\tgetInternalStack(theme = this.theme) {\n\t\treturn this._stacks[theme];\n\t}\n\tgetScopes(theme = this.theme) {\n\t\treturn getScopes(this._stacks[theme]);\n\t}\n\ttoJSON() {\n\t\treturn {\n\t\t\tlang: this.lang,\n\t\t\ttheme: this.theme,\n\t\t\tthemes: this.themes,\n\t\t\tscopes: this.getScopes()\n\t\t};\n\t}\n};\nfunction getScopes(stack) {\n\tconst scopes = [];\n\tconst visited = /* @__PURE__ */ new Set();\n\tfunction pushScope(stack) {\n\t\tif (visited.has(stack)) return;\n\t\tvisited.add(stack);\n\t\tconst name = stack?.nameScopesList?.scopeName;\n\t\tif (name) scopes.push(name);\n\t\tif (stack.parent) pushScope(stack.parent);\n\t}\n\tpushScope(stack);\n\treturn scopes;\n}\nfunction getGrammarStack(state, theme) {\n\tif (!(state instanceof GrammarState)) throw new ShikiError(\"Invalid grammar state\");\n\treturn state.getInternalStack(theme);\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens-base.ts\n/**\n* Code to tokens, with a simple theme.\n*/\nfunction codeToTokensBase(primitive, code, options = {}) {\n\tconst { theme: themeName = primitive.getLoadedThemes()[0] } = options;\n\tif (isPlainLang(primitive.resolveLangAlias(options.lang || \"text\")) || isNoneTheme(themeName)) return splitLines(code).map((line) => [{\n\t\tcontent: line[0],\n\t\toffset: line[1]\n\t}]);\n\tconst { theme, colorMap } = primitive.setTheme(themeName);\n\tconst _grammar = primitive.getLanguage(options.lang || \"text\");\n\tif (options.grammarState) {\n\t\tif (options.grammarState.lang !== _grammar.name) throw new ShikiError(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n\t\tif (!options.grammarState.themes.includes(theme.name)) throw new ShikiError(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n\t}\n\treturn tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n\tif (args.length === 2) return getLastGrammarStateFromMap(args[1]);\n\tconst [primitive, code, options = {}] = args;\n\tconst { lang = \"text\", theme: themeName = primitive.getLoadedThemes()[0] } = options;\n\tif (isPlainLang(lang) || isNoneTheme(themeName)) throw new ShikiError(\"Plain language does not have grammar state\");\n\tif (lang === \"ansi\") throw new ShikiError(\"ANSI language does not have grammar state\");\n\tconst { theme, colorMap } = primitive.setTheme(themeName);\n\tconst _grammar = primitive.getLanguage(lang);\n\treturn new GrammarState(_tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack, _grammar.name, theme.name);\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n\tconst result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n\tconst grammarState = new GrammarState(result.stateStack, grammar.name, theme.name);\n\tsetLastGrammarStateToMap(result.tokens, grammarState);\n\treturn result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n\tconst colorReplacements = resolveColorReplacements(theme, options);\n\tconst { tokenizeMaxLineLength = 0, tokenizeTimeLimit = 500 } = options;\n\tconst lines = splitLines(code);\n\tlet stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(options.grammarContextCode, grammar, theme, colorMap, {\n\t\t...options,\n\t\tgrammarState: void 0,\n\t\tgrammarContextCode: void 0\n\t}).stateStack : INITIAL;\n\tlet actual = [];\n\tconst final = [];\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst [line, lineOffset] = lines[i];\n\t\tif (line === \"\") {\n\t\t\tactual = [];\n\t\t\tfinal.push([]);\n\t\t\tcontinue;\n\t\t}\n\t\tif (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n\t\t\tactual = [];\n\t\t\tfinal.push([{\n\t\t\t\tcontent: line,\n\t\t\t\toffset: lineOffset,\n\t\t\t\tcolor: \"\",\n\t\t\t\tfontStyle: 0\n\t\t\t}]);\n\t\t\tcontinue;\n\t\t}\n\t\tlet resultWithScopes;\n\t\tlet tokensWithScopes;\n\t\tlet tokensWithScopesIndex;\n\t\tif (options.includeExplanation) {\n\t\t\tresultWithScopes = grammar.tokenizeLine(line, stateStack, tokenizeTimeLimit);\n\t\t\ttokensWithScopes = resultWithScopes.tokens;\n\t\t\ttokensWithScopesIndex = 0;\n\t\t}\n\t\tconst result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n\t\tconst tokensLength = result.tokens.length / 2;\n\t\tfor (let j = 0; j < tokensLength; j++) {\n\t\t\tconst startIndex = result.tokens[2 * j];\n\t\t\tconst nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n\t\t\tif (startIndex === nextStartIndex) continue;\n\t\t\tconst metadata = result.tokens[2 * j + 1];\n\t\t\tconst color = applyColorReplacements(colorMap[EncodedTokenMetadata.getForeground(metadata)], colorReplacements);\n\t\t\tconst fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n\t\t\tconst token = {\n\t\t\t\tcontent: line.substring(startIndex, nextStartIndex),\n\t\t\t\toffset: lineOffset + startIndex,\n\t\t\t\tcolor,\n\t\t\t\tfontStyle\n\t\t\t};\n\t\t\tif (options.includeExplanation) {\n\t\t\t\tconst themeSettingsSelectors = [];\n\t\t\t\tif (options.includeExplanation !== \"scopeName\") for (const setting of theme.settings) {\n\t\t\t\t\tlet selectors;\n\t\t\t\t\tswitch (typeof setting.scope) {\n\t\t\t\t\t\tcase \"string\":\n\t\t\t\t\t\t\tselectors = setting.scope.split(/,/).map((scope) => scope.trim());\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"object\":\n\t\t\t\t\t\t\tselectors = setting.scope;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: continue;\n\t\t\t\t\t}\n\t\t\t\t\tthemeSettingsSelectors.push({\n\t\t\t\t\t\tsettings: setting,\n\t\t\t\t\t\tselectors: selectors.map((selector) => selector.split(/ /))\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttoken.explanation = [];\n\t\t\t\tlet offset = 0;\n\t\t\t\twhile (startIndex + offset < nextStartIndex) {\n\t\t\t\t\tconst tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n\t\t\t\t\tconst tokenWithScopesText = line.substring(tokenWithScopes.startIndex, tokenWithScopes.endIndex);\n\t\t\t\t\toffset += tokenWithScopesText.length;\n\t\t\t\t\ttoken.explanation.push({\n\t\t\t\t\t\tcontent: tokenWithScopesText,\n\t\t\t\t\t\tscopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(tokenWithScopes.scopes) : explainThemeScopesFull(themeSettingsSelectors, tokenWithScopes.scopes)\n\t\t\t\t\t});\n\t\t\t\t\ttokensWithScopesIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tactual.push(token);\n\t\t}\n\t\tfinal.push(actual);\n\t\tactual = [];\n\t\tstateStack = result.ruleStack;\n\t}\n\treturn {\n\t\ttokens: final,\n\t\tstateStack\n\t};\n}\nfunction explainThemeScopesNameOnly(scopes) {\n\treturn scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n\tconst result = [];\n\tfor (let i = 0, len = scopes.length; i < len; i++) {\n\t\tconst scope = scopes[i];\n\t\tresult[i] = {\n\t\t\tscopeName: scope,\n\t\t\tthemeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n\t\t};\n\t}\n\treturn result;\n}\nfunction matchesOne(selector, scope) {\n\treturn selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n\tif (!matchesOne(selectors[selectors.length - 1], scope)) return false;\n\tlet selectorParentIndex = selectors.length - 2;\n\tlet parentIndex = parentScopes.length - 1;\n\twhile (selectorParentIndex >= 0 && parentIndex >= 0) {\n\t\tif (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex])) selectorParentIndex -= 1;\n\t\tparentIndex -= 1;\n\t}\n\tif (selectorParentIndex === -1) return true;\n\treturn false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n\tconst result = [];\n\tfor (const { selectors, settings } of themeSettingsSelectors) for (const selectorPieces of selectors) if (matches(selectorPieces, scope, parentScopes)) {\n\t\tresult.push(settings);\n\t\tbreak;\n\t}\n\treturn result;\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens-themes.ts\n/**\n* Get tokens with multiple themes\n*/\nfunction codeToTokensWithThemes(primitive, code, options) {\n\tconst themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({\n\t\tcolor: i[0],\n\t\ttheme: i[1]\n\t}));\n\tconst themedTokens = themes.map((t) => {\n\t\tconst tokens = codeToTokensBase(primitive, code, {\n\t\t\t...options,\n\t\t\ttheme: t.theme\n\t\t});\n\t\treturn {\n\t\t\ttokens,\n\t\t\tstate: getLastGrammarStateFromMap(tokens),\n\t\t\ttheme: typeof t.theme === \"string\" ? t.theme : t.theme.name\n\t\t};\n\t});\n\tconst tokens = alignThemesTokenization(...themedTokens.map((i) => i.tokens));\n\tconst mergedTokens = tokens[0].map((line, lineIdx) => line.map((_token, tokenIdx) => {\n\t\tconst mergedToken = {\n\t\t\tcontent: _token.content,\n\t\t\tvariants: {},\n\t\t\toffset: _token.offset\n\t\t};\n\t\tif (\"includeExplanation\" in options && options.includeExplanation) mergedToken.explanation = _token.explanation;\n\t\ttokens.forEach((t, themeIdx) => {\n\t\t\tconst { content: _, explanation: __, offset: ___, ...styles } = t[lineIdx][tokenIdx];\n\t\t\tmergedToken.variants[themes[themeIdx].color] = styles;\n\t\t});\n\t\treturn mergedToken;\n\t}));\n\tconst mergedGrammarState = themedTokens[0].state ? new GrammarState(Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])), themedTokens[0].state.lang) : void 0;\n\tif (mergedGrammarState) setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n\treturn mergedTokens;\n}\n/**\n* Break tokens from multiple themes into same tokenization.\n*\n* For example, given two themes that tokenize `console.log(\"hello\")` as:\n*\n* - `console . log (\" hello \")` (6 tokens)\n* - `console .log ( \"hello\" )` (5 tokens)\n*\n* This function will return:\n*\n* - `console . log ( \" hello \" )` (8 tokens)\n* - `console . log ( \" hello \" )` (8 tokens)\n*/\nfunction alignThemesTokenization(...themes) {\n\tconst outThemes = themes.map(() => []);\n\tconst count = themes.length;\n\tfor (let i = 0; i < themes[0].length; i++) {\n\t\tconst lines = themes.map((t) => t[i]);\n\t\tconst outLines = outThemes.map(() => []);\n\t\toutThemes.forEach((t, i) => t.push(outLines[i]));\n\t\tconst indexes = lines.map(() => 0);\n\t\tconst current = lines.map((l) => l[0]);\n\t\twhile (current.every((t) => t)) {\n\t\t\tconst minLength = Math.min(...current.map((t) => t.content.length));\n\t\t\tfor (let n = 0; n < count; n++) {\n\t\t\t\tconst token = current[n];\n\t\t\t\tif (token.content.length === minLength) {\n\t\t\t\t\toutLines[n].push(token);\n\t\t\t\t\tindexes[n] += 1;\n\t\t\t\t\tcurrent[n] = lines[n][indexes[n]];\n\t\t\t\t} else {\n\t\t\t\t\toutLines[n].push({\n\t\t\t\t\t\t...token,\n\t\t\t\t\t\tcontent: token.content.slice(0, minLength)\n\t\t\t\t\t});\n\t\t\t\t\tcurrent[n] = {\n\t\t\t\t\t\t...token,\n\t\t\t\t\t\tcontent: token.content.slice(minLength),\n\t\t\t\t\t\toffset: token.offset + minLength\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn outThemes;\n}\n\n//#endregion\nexport { GrammarState, Registry, Resolver, alignThemesTokenization, applyColorReplacements, codeToTokensBase, codeToTokensWithThemes, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitiveAsync, getGrammarStack, getLastGrammarState, getLastGrammarStateFromMap, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, normalizeGetter, normalizeTheme, resolveColorReplacements, resolveLangAlias, resolveLangs, resolveThemes, setLastGrammarStateToMap, splitLines, toArray, tokenizeWithTheme };","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n /**\n * @param {SchemaType['property']} property\n * Property.\n * @param {SchemaType['normal']} normal\n * Normal.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Schema.\n */\n constructor(property, normal, space) {\n this.normal = normal\n this.property = property\n\n if (space) {\n this.space = space\n }\n }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray<Schema>} definitions\n * Definitions.\n * @param {Space | undefined} [space]\n * Space.\n * @returns {Schema}\n * Schema.\n */\nexport function merge(definitions, space) {\n /** @type {Record<string, Info>} */\n const property = {}\n /** @type {Record<string, string>} */\n const normal = {}\n\n for (const definition of definitions) {\n Object.assign(property, definition.property)\n Object.assign(normal, definition.normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n * An attribute-like or property-like name.\n * @returns {string}\n * Value that can be used to look up the properly cased property on a\n * `Schema`.\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n /**\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @returns\n * Info.\n */\n constructor(property, attribute) {\n this.attribute = attribute\n this.property = property\n }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray<keyof typeof types>} */ (\n Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @param {number | null | undefined} [mask]\n * Mask.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Info.\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n * Key type.\n * @param {DefinedInfo} values\n * Info.\n * @param {Key} key\n * Key.\n * @param {DefinedInfo[Key]} value\n * Value.\n * @returns {undefined}\n * Nothing.\n */\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n * Definition of a schema.\n * @property {Record<string, string> | undefined} [attributes]\n * Normalzed names to special attribute case.\n * @property {ReadonlyArray<string> | undefined} [mustUseProperty]\n * Normalized names that must be set as properties.\n * @property {Record<string, number | null>} properties\n * Property names to their types.\n * @property {Space | undefined} [space]\n * Space.\n * @property {Transform} transform\n * Transform a property name.\n */\n\n/**\n * @callback Transform\n * Transform.\n * @param {Record<string, string>} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n * Definition.\n * @returns {Schema}\n * Schema.\n */\nexport function create(definition) {\n /** @type {Record<string, Info>} */\n const properties = {}\n /** @type {Record<string, string>} */\n const normals = {}\n\n for (const [property, value] of Object.entries(definition.properties)) {\n const info = new DefinedInfo(\n property,\n definition.transform(definition.attributes || {}, property),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(property)\n ) {\n info.mustUseProperty = true\n }\n\n properties[property] = info\n\n normals[normalize(property)] = property\n normals[normalize(info.attribute)] = property\n }\n\n return new Schema(properties, normals, definition.space)\n}\n","import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n },\n transform(_, property) {\n return property === 'role'\n ? property\n : 'aria-' + property.slice(4).toLowerCase()\n }\n})\n","/**\n * @param {Record<string, string>} attributes\n * Attributes.\n * @param {string} attribute\n * Attribute.\n * @returns {string}\n * Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n booleanish,\n boolean,\n commaSeparated,\n number,\n overloadedBoolean,\n spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: overloadedBoolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n },\n space: 'html',\n transform: caseInsensitiveTransform\n})\n","import {caseSensitiveTransform} from './util/case-sensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n boolean,\n commaOrSpaceSeparated,\n commaSeparated,\n number,\n spaceSeparated\n} from './util/types.js'\n\nexport const svg = create({\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n },\n space: 'svg',\n transform: caseSensitiveTransform\n})\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n },\n space: 'xlink',\n transform(_, property) {\n return 'xlink:' + property.slice(5).toLowerCase()\n }\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n properties: {xmlnsXLink: null, xmlns: null},\n space: 'xmlns',\n transform: caseInsensitiveTransform\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n properties: {xmlBase: null, xmlLang: null, xmlSpace: null},\n space: 'xml',\n transform(_, property) {\n return 'xml:' + property.slice(3).toLowerCase()\n }\n})\n","/**\n * @import {Schema} from 'property-information'\n */\n\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\nimport {normalize} from './normalize.js'\n\nconst cap = /[A-Z]/g\nconst dash = /-[a-z]/g\nconst valid = /^data[-\\w.:]+$/i\n\n/**\n * Look up info on a property.\n *\n * In most cases the given `schema` contains info on the property.\n * All standard,\n * most legacy,\n * and some non-standard properties are supported.\n * For these cases,\n * the returned `Info` has hints about the value of the property.\n *\n * `name` can also be a valid data attribute or property,\n * in which case an `Info` object with the correctly cased `attribute` and\n * `property` is returned.\n *\n * `name` can be an unknown attribute,\n * in which case an `Info` object with `attribute` and `property` set to the\n * given name is returned.\n * It is not recommended to provide unsupported legacy or recently specced\n * properties.\n *\n *\n * @param {Schema} schema\n * Schema;\n * either the `html` or `svg` export.\n * @param {string} value\n * An attribute-like or property-like name;\n * it will be passed through `normalize` to hopefully find the correct info.\n * @returns {Info}\n * Info.\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let property = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n property = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(property, value)\n}\n\n/**\n * @param {string} $0\n * Value.\n * @returns {string}\n * Kebab.\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * Value.\n * @returns {string}\n * Camel.\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","// Note: types exposed from `index.d.ts`.\nimport {merge} from './lib/util/merge.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\nimport {xlink} from './lib/xlink.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {xml} from './lib/xml.js'\n\nexport {hastToReact} from './lib/hast-to-react.js'\n\nexport const html = merge([aria, htmlBase, xlink, xmlns, xml], 'html')\n\nexport {find} from './lib/find.js'\nexport {normalize} from './lib/normalize.js'\n\nexport const svg = merge([aria, svgBase, xlink, xmlns, xml], 'svg')\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n","/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n * Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n * Whether to only escape possibly dangerous characters.\n * Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n * Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n value = value.replace(\n options.subset\n ? charactersToExpressionCached(options.subset)\n : defaultSubsetRegex,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(surrogatePairsRegex, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(controlCharactersRegex, basic)\n )\n\n /**\n * @param {string} pair\n * @param {number} index\n * @param {string} all\n */\n function surrogate(pair, index, all) {\n return options.format(\n (pair.charCodeAt(0) - 0xd800) * 0x400 +\n pair.charCodeAt(1) -\n 0xdc00 +\n 0x10000,\n all.charCodeAt(index + 2),\n options\n )\n }\n\n /**\n * @param {string} character\n * @param {number} index\n * @param {string} all\n */\n function basic(character, index, all) {\n return options.format(\n character.charCodeAt(0),\n all.charCodeAt(index + 1),\n options\n )\n }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n let cached = subsetToRegexCache.get(subset)\n\n if (!cached) {\n cached = charactersToExpression(subset)\n subsetToRegexCache.set(subset, cached)\n }\n\n return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n /** @type {Array<string>} */\n const groups = []\n let index = -1\n\n while (++index < subset.length) {\n groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n const value = '&#x' + code.toString(16).toUpperCase()\n return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n const value = '&#' + String(code)\n return omit && next && !decimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n 'AElig',\n 'AMP',\n 'Aacute',\n 'Acirc',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Auml',\n 'COPY',\n 'Ccedil',\n 'ETH',\n 'Eacute',\n 'Ecirc',\n 'Egrave',\n 'Euml',\n 'GT',\n 'Iacute',\n 'Icirc',\n 'Igrave',\n 'Iuml',\n 'LT',\n 'Ntilde',\n 'Oacute',\n 'Ocirc',\n 'Ograve',\n 'Oslash',\n 'Otilde',\n 'Ouml',\n 'QUOT',\n 'REG',\n 'THORN',\n 'Uacute',\n 'Ucirc',\n 'Ugrave',\n 'Uuml',\n 'Yacute',\n 'aacute',\n 'acirc',\n 'acute',\n 'aelig',\n 'agrave',\n 'amp',\n 'aring',\n 'atilde',\n 'auml',\n 'brvbar',\n 'ccedil',\n 'cedil',\n 'cent',\n 'copy',\n 'curren',\n 'deg',\n 'divide',\n 'eacute',\n 'ecirc',\n 'egrave',\n 'eth',\n 'euml',\n 'frac12',\n 'frac14',\n 'frac34',\n 'gt',\n 'iacute',\n 'icirc',\n 'iexcl',\n 'igrave',\n 'iquest',\n 'iuml',\n 'laquo',\n 'lt',\n 'macr',\n 'micro',\n 'middot',\n 'nbsp',\n 'not',\n 'ntilde',\n 'oacute',\n 'ocirc',\n 'ograve',\n 'ordf',\n 'ordm',\n 'oslash',\n 'otilde',\n 'ouml',\n 'para',\n 'plusmn',\n 'pound',\n 'quot',\n 'raquo',\n 'reg',\n 'sect',\n 'shy',\n 'sup1',\n 'sup2',\n 'sup3',\n 'szlig',\n 'thorn',\n 'times',\n 'uacute',\n 'ucirc',\n 'ugrave',\n 'uml',\n 'uuml',\n 'yacute',\n 'yen',\n 'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n nbsp: ' ',\n iexcl: '¡',\n cent: '¢',\n pound: '£',\n curren: '¤',\n yen: '¥',\n brvbar: '¦',\n sect: '§',\n uml: '¨',\n copy: '©',\n ordf: 'ª',\n laquo: '«',\n not: '¬',\n shy: '',\n reg: '®',\n macr: '¯',\n deg: '°',\n plusmn: '±',\n sup2: '²',\n sup3: '³',\n acute: '´',\n micro: 'µ',\n para: '¶',\n middot: '·',\n cedil: '¸',\n sup1: '¹',\n ordm: 'º',\n raquo: '»',\n frac14: '¼',\n frac12: '½',\n frac34: '¾',\n iquest: '¿',\n Agrave: 'À',\n Aacute: 'Á',\n Acirc: 'Â',\n Atilde: 'Ã',\n Auml: 'Ä',\n Aring: 'Å',\n AElig: 'Æ',\n Ccedil: 'Ç',\n Egrave: 'È',\n Eacute: 'É',\n Ecirc: 'Ê',\n Euml: 'Ë',\n Igrave: 'Ì',\n Iacute: 'Í',\n Icirc: 'Î',\n Iuml: 'Ï',\n ETH: 'Ð',\n Ntilde: 'Ñ',\n Ograve: 'Ò',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Otilde: 'Õ',\n Ouml: 'Ö',\n times: '×',\n Oslash: 'Ø',\n Ugrave: 'Ù',\n Uacute: 'Ú',\n Ucirc: 'Û',\n Uuml: 'Ü',\n Yacute: 'Ý',\n THORN: 'Þ',\n szlig: 'ß',\n agrave: 'à',\n aacute: 'á',\n acirc: 'â',\n atilde: 'ã',\n auml: 'ä',\n aring: 'å',\n aelig: 'æ',\n ccedil: 'ç',\n egrave: 'è',\n eacute: 'é',\n ecirc: 'ê',\n euml: 'ë',\n igrave: 'ì',\n iacute: 'í',\n icirc: 'î',\n iuml: 'ï',\n eth: 'ð',\n ntilde: 'ñ',\n ograve: 'ò',\n oacute: 'ó',\n ocirc: 'ô',\n otilde: 'õ',\n ouml: 'ö',\n divide: '÷',\n oslash: 'ø',\n ugrave: 'ù',\n uacute: 'ú',\n ucirc: 'û',\n uuml: 'ü',\n yacute: 'ý',\n thorn: 'þ',\n yuml: 'ÿ',\n fnof: 'ƒ',\n Alpha: 'Α',\n Beta: 'Β',\n Gamma: 'Γ',\n Delta: 'Δ',\n Epsilon: 'Ε',\n Zeta: 'Ζ',\n Eta: 'Η',\n Theta: 'Θ',\n Iota: 'Ι',\n Kappa: 'Κ',\n Lambda: 'Λ',\n Mu: 'Μ',\n Nu: 'Ν',\n Xi: 'Ξ',\n Omicron: 'Ο',\n Pi: 'Π',\n Rho: 'Ρ',\n Sigma: 'Σ',\n Tau: 'Τ',\n Upsilon: 'Υ',\n Phi: 'Φ',\n Chi: 'Χ',\n Psi: 'Ψ',\n Omega: 'Ω',\n alpha: 'α',\n beta: 'β',\n gamma: 'γ',\n delta: 'δ',\n epsilon: 'ε',\n zeta: 'ζ',\n eta: 'η',\n theta: 'θ',\n iota: 'ι',\n kappa: 'κ',\n lambda: 'λ',\n mu: 'μ',\n nu: 'ν',\n xi: 'ξ',\n omicron: 'ο',\n pi: 'π',\n rho: 'ρ',\n sigmaf: 'ς',\n sigma: 'σ',\n tau: 'τ',\n upsilon: 'υ',\n phi: 'φ',\n chi: 'χ',\n psi: 'ψ',\n omega: 'ω',\n thetasym: 'ϑ',\n upsih: 'ϒ',\n piv: 'ϖ',\n bull: '•',\n hellip: '…',\n prime: '′',\n Prime: '″',\n oline: '‾',\n frasl: '⁄',\n weierp: '℘',\n image: 'ℑ',\n real: 'ℜ',\n trade: '™',\n alefsym: 'ℵ',\n larr: '←',\n uarr: '↑',\n rarr: '→',\n darr: '↓',\n harr: '↔',\n crarr: '↵',\n lArr: '⇐',\n uArr: '⇑',\n rArr: '⇒',\n dArr: '⇓',\n hArr: '⇔',\n forall: '∀',\n part: '∂',\n exist: '∃',\n empty: '∅',\n nabla: '∇',\n isin: '∈',\n notin: '∉',\n ni: '∋',\n prod: '∏',\n sum: '∑',\n minus: '−',\n lowast: '∗',\n radic: '√',\n prop: '∝',\n infin: '∞',\n ang: '∠',\n and: '∧',\n or: '∨',\n cap: '∩',\n cup: '∪',\n int: '∫',\n there4: '∴',\n sim: '∼',\n cong: '≅',\n asymp: '≈',\n ne: '≠',\n equiv: '≡',\n le: '≤',\n ge: '≥',\n sub: '⊂',\n sup: '⊃',\n nsub: '⊄',\n sube: '⊆',\n supe: '⊇',\n oplus: '⊕',\n otimes: '⊗',\n perp: '⊥',\n sdot: '⋅',\n lceil: '⌈',\n rceil: '⌉',\n lfloor: '⌊',\n rfloor: '⌋',\n lang: '〈',\n rang: '〉',\n loz: '◊',\n spades: '♠',\n clubs: '♣',\n hearts: '♥',\n diams: '♦',\n quot: '\"',\n amp: '&',\n lt: '<',\n gt: '>',\n OElig: 'Œ',\n oelig: 'œ',\n Scaron: 'Š',\n scaron: 'š',\n Yuml: 'Ÿ',\n circ: 'ˆ',\n tilde: '˜',\n ensp: ' ',\n emsp: ' ',\n thinsp: ' ',\n zwnj: '',\n zwj: '',\n lrm: '',\n rlm: '',\n ndash: '–',\n mdash: '—',\n lsquo: '‘',\n rsquo: '’',\n sbquo: '‚',\n ldquo: '“',\n rdquo: '”',\n bdquo: '„',\n dagger: '†',\n Dagger: '‡',\n permil: '‰',\n lsaquo: '‹',\n rsaquo: '›',\n euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n 'cent',\n 'copy',\n 'divide',\n 'gt',\n 'lt',\n 'not',\n 'para',\n 'times'\n]\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n if (own.call(characterEntitiesHtml4, key)) {\n characters[characterEntitiesHtml4[key]] = key\n }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n const character = String.fromCharCode(code)\n\n if (own.call(characters, character)) {\n const name = characters[character]\n const value = '&' + name\n\n if (\n omit &&\n characterEntitiesLegacy.includes(name) &&\n !dangerous.includes(name) &&\n (!attribute ||\n (next &&\n next !== 61 /* `=` */ &&\n notAlphanumericRegex.test(String.fromCharCode(next))))\n ) {\n return value\n }\n\n return value + ';'\n }\n\n return ''\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&`) where possible.\n * @property {boolean} [useShortestReferences=false]\n * Prefer the shortest possible reference, if that results in less bytes.\n * **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n * Whether to omit semicolons when possible.\n * **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n * Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n * Create character references which don’t fail in attributes.\n * **Note**: `attribute` only applies when operating dangerously with\n * `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n /** @type {string|undefined} */\n let named\n\n if (options.useNamedReferences || options.useShortestReferences) {\n named = toNamed(\n code,\n next,\n options.omitOptionalSemicolons,\n options.attribute\n )\n }\n\n // Use the shortest numeric reference when requested.\n // A simple algorithm would use decimal for all code points under 100, as\n // those are shorter than hexadecimal:\n //\n // * `c` vs `c` (decimal shorter)\n // * `d` vs `d` (equal)\n //\n // However, because we take `next` into consideration when `omit` is used,\n // And it would be possible that decimals are shorter on bigger values as\n // well if `next` is hexadecimal but not decimal, we instead compare both.\n if (\n (options.useShortestReferences || !named) &&\n options.useShortestReferences\n ) {\n const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n if (decimal.length < numeric.length) {\n numeric = decimal\n }\n }\n\n return named &&\n (!options.useShortestReferences || named.length < numeric.length)\n ? named\n : numeric\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n * Value to encode.\n * @param {Options} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntities(value, options) {\n return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n * Value to encode.\n * @param {LightOptions} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n return state.settings.bogusComments\n ? '<?' +\n stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: bogusCommentEntitySubset\n })\n ) +\n '>'\n : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n /**\n * @param {string} $0\n */\n function encode($0) {\n return stringifyEntities(\n $0,\n Object.assign({}, state.settings.characterReferences, {\n subset: commentEntitySubset\n })\n )\n }\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n * Node to handle.\n * @param {number | undefined} _2\n * Index of `node` in `parent.\n * @param {Parents | undefined} _3\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n return (\n '<!' +\n (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n (state.settings.tightDoctype ? '' : ' ') +\n 'html>'\n )\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n return sibling\n\n /**\n * Find applicable siblings in a direction.\n *\n * @template {Parents} Parent\n * Parent type.\n * @param {Parent | undefined} parent\n * Parent.\n * @param {number | undefined} index\n * Index of child in `parent`.\n * @param {boolean | undefined} [includeWhitespace=false]\n * Whether to include whitespace (default: `false`).\n * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n * Child of parent.\n */\n function sibling(parent, index, includeWhitespace) {\n const siblings = parent ? parent.children : emptyChildren\n let offset = (index || 0) + increment\n let next = siblings[offset]\n\n if (!includeWhitespace) {\n while (next && whitespace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n // @ts-expect-error: it’s a correct child.\n return next\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n * Check if a tag can be omitted.\n * @param {Element} element\n * Element to check.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n * Omission handlers, where each key is a tag name, and each value is the\n * corresponding handler.\n * @returns {OmitHandle}\n * Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n return omit\n\n /**\n * Check if a given node can have a tag omitted.\n *\n * @type {OmitHandle}\n */\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n body,\n caption: headOrColgroupOrCaption,\n colgroup: headOrColgroupOrCaption,\n dd,\n dt,\n head: headOrColgroupOrCaption,\n html,\n li,\n optgroup,\n option,\n p,\n rp: rubyElement,\n rt: rubyElement,\n tbody,\n td: cells,\n tfoot,\n th: cells,\n thead,\n tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n const next = siblingAfter(parent, index, true)\n return (\n !next ||\n (next.type !== 'comment' &&\n !(next.type === 'text' && whitespace(next.value.charAt(0))))\n )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n const next = siblingAfter(parent, index)\n return next\n ? next.type === 'element' &&\n (next.tagName === 'address' ||\n next.tagName === 'article' ||\n next.tagName === 'aside' ||\n next.tagName === 'blockquote' ||\n next.tagName === 'details' ||\n next.tagName === 'div' ||\n next.tagName === 'dl' ||\n next.tagName === 'fieldset' ||\n next.tagName === 'figcaption' ||\n next.tagName === 'figure' ||\n next.tagName === 'footer' ||\n next.tagName === 'form' ||\n next.tagName === 'h1' ||\n next.tagName === 'h2' ||\n next.tagName === 'h3' ||\n next.tagName === 'h4' ||\n next.tagName === 'h5' ||\n next.tagName === 'h6' ||\n next.tagName === 'header' ||\n next.tagName === 'hgroup' ||\n next.tagName === 'hr' ||\n next.tagName === 'main' ||\n next.tagName === 'menu' ||\n next.tagName === 'nav' ||\n next.tagName === 'ol' ||\n next.tagName === 'p' ||\n next.tagName === 'pre' ||\n next.tagName === 'section' ||\n next.tagName === 'table' ||\n next.tagName === 'ul')\n : !parent ||\n // Confusing parent.\n !(\n parent.type === 'element' &&\n (parent.tagName === 'a' ||\n parent.tagName === 'audio' ||\n parent.tagName === 'del' ||\n parent.tagName === 'ins' ||\n parent.tagName === 'map' ||\n parent.tagName === 'noscript' ||\n parent.tagName === 'video')\n )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd')\n )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd'))\n )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'rp' || next.tagName === 'rt'))\n )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'option' || next.tagName === 'optgroup'))\n )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot')\n )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'td' || next.tagName === 'th'))\n )\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n body,\n colgroup,\n head,\n html,\n tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction html(node) {\n const head = siblingAfter(node, -1)\n return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction head(node) {\n /** @type {Set<string>} */\n const seen = new Set()\n\n // Whether `srcdoc` or not,\n // make sure the content model at least doesn’t have too many `base`s/`title`s.\n for (const child of node.children) {\n if (\n child.type === 'element' &&\n (child.tagName === 'base' || child.tagName === 'title')\n ) {\n if (seen.has(child.tagName)) return false\n seen.add(child.tagName)\n }\n }\n\n // “May be omitted if the element is empty,\n // or if the first thing inside the head element is an element.”\n const child = node.children[0]\n return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction body(node) {\n const head = siblingAfter(node, -1, true)\n\n return (\n !head ||\n (head.type !== 'comment' &&\n !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n !(\n head.type === 'element' &&\n (head.tagName === 'meta' ||\n head.tagName === 'link' ||\n head.tagName === 'script' ||\n head.tagName === 'style' ||\n head.tagName === 'template')\n ))\n )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n previous.tagName === 'colgroup' &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1)\n\n // Previous table section was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function element(node, index, parent, state) {\n const schema = state.schema\n const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n let selfClosing =\n schema.space === 'svg'\n ? state.settings.closeEmptyElements\n : state.settings.voids.includes(node.tagName.toLowerCase())\n /** @type {Array<string>} */\n const parts = []\n /** @type {string} */\n let last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n state.schema = svg\n }\n\n const attributes = serializeAttributes(state, node.properties)\n\n const content = state.all(\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n state.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n // Note: `menuitem` has since been removed from the HTML spec, and so is no\n // longer void.\n if (content) selfClosing = false\n\n if (attributes || !omit || !opening(node, index, parent)) {\n parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n if (\n selfClosing &&\n (schema.space === 'svg' || state.settings.closeSelfClosing)\n ) {\n last = attributes.charAt(attributes.length - 1)\n if (\n !state.settings.tightSelfClosing ||\n last === '/' ||\n (last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !closing(node, index, parent))) {\n parts.push('</' + node.tagName + '>')\n }\n\n return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n /** @type {Array<string>} */\n const values = []\n let index = -1\n /** @type {string} */\n let key\n\n if (properties) {\n for (key in properties) {\n if (properties[key] !== null && properties[key] !== undefined) {\n const value = serializeAttribute(state, key, properties[key])\n if (value) values.push(value)\n }\n }\n }\n\n while (++index < values.length) {\n const last = state.settings.tightAttributes\n ? values[index].charAt(values[index].length - 1)\n : undefined\n\n // In tight mode, don’t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n const info = find(state.schema, key)\n const x =\n state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n const y = state.settings.allowDangerousCharacters ? 0 : 1\n let quote = state.quote\n /** @type {string | undefined} */\n let result\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n (info.boolean || info.overloadedBoolean) &&\n (typeof value !== 'string' || value === info.attribute || value === '')\n ) {\n value = Boolean(value)\n }\n\n if (\n value === null ||\n value === undefined ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return ''\n }\n\n const name = stringifyEntities(\n info.attribute,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: constants.name[x][y]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // `<a>`.\n // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n // so I can’t test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // <!doctype html>\n // <svg viewBox=\"0 0 100 100\">\n // <a href=https://example.com download>\n // <circle cx=50 cy=40 r=35 />\n // </a>\n // </svg>\n // ```\n //\n // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n if (value === true) return name\n\n // `spaces` doesn’t accept a second argument, but it’s given here just to\n // keep the code cleaner.\n value = Array.isArray(value)\n ? (info.commaSeparated ? commas : spaces)(value, {\n padLeft: !state.settings.tightCommaSeparatedLists\n })\n : String(value)\n\n if (state.settings.collapseEmptyAttributes && !value) return name\n\n // Check unquoted value.\n if (state.settings.preferUnquoted) {\n result = stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n attribute: true,\n subset: constants.unquoted[x][y]\n })\n )\n }\n\n // If we don’t want unquoted, or if `value` contains character references when\n // unquoted…\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (\n state.settings.quoteSmart &&\n ccount(value, quote) > ccount(value, state.alternative)\n ) {\n quote = state.alternative\n }\n\n result =\n quote +\n stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don’t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n * Node to handle.\n * @param {number | undefined} _\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function text(node, _, parent, state) {\n // Check if content of `node` should be escaped.\n return parent &&\n parent.type === 'element' &&\n (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: textEntitySubset\n })\n )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function raw(node, index, parent, state) {\n return state.settings.allowDangerousHtml\n ? node.value\n : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function root(node, _1, _2, state) {\n return state.all(node)\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n invalid,\n unknown,\n handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n * Unknown value.\n * @returns {never}\n * Never.\n */\nfunction invalid(node) {\n throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n * Unknown node.\n * @returns {never}\n * Never.\n */\nfunction unknown(node_) {\n // `type` is guaranteed by runtime JS.\n const node = /** @type {Nodes} */ (node_)\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n * Do not encode some characters which cause XSS vulnerabilities in older\n * browsers (default: `false`).\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n * When `false`, `Raw` nodes are encoded.\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n * Do not encode characters which cause parse errors (even though they work),\n * to save bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n * Use “bogus comments” instead of comments to save byes: `<?charlie>`\n * instead of `<!--charlie-->` (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n * Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n * Close SVG elements without any content with slash (`/`) on the opening tag\n * instead of an end tag: `<circle />` instead of `<circle></circle>`\n * (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n * Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n * `<img>` (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n * Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n * `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n * Omit optional opening and closing tags (default: `false`).\n *\n * For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n * tags can be omitted.\n * The first because it’s followed by another `li`, the last because it’s\n * followed by nothing.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n * Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n * Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n * Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it (default: `'html'`).\n *\n * > 👉 **Note**: hast is not XML.\n * > It supports SVG as embedded in HTML.\n * > It does not support the features available in XML.\n * > Passing SVG might break but fragments of modern SVG should be fine.\n * > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n * Join attributes together, without whitespace, if possible: get\n * `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n * bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n * Join known comma-separated attribute values with just a comma (`,`),\n * instead of padding them on the right as well (`,␠`, where `␠` represents a\n * space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n * Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n * `<!doctype html>` to save bytes (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n * Do not use an extra space when closing self-closing elements: `<img/>`\n * instead of `<img />` (default: `false`).\n *\n * > 👉 **Note**: only used if `closeSelfClosing: true` or\n * > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n * Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n * Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n * Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n * > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n * HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n * Serialize the children of a parent node.\n * @property {Quote} alternative\n * Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n * Serialize one node.\n * @property {Quote} quote\n * Preferred quote.\n * @property {Schema} schema\n * Current schema.\n * @property {Settings} settings\n * User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n * Tree to serialize.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized HTML.\n */\nexport function toHtml(tree, options) {\n const options_ = options || emptyOptions\n const quote = options_.quote || '\"'\n const alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n /** @type {State} */\n const state = {\n one,\n all,\n settings: {\n omitOptionalTags: options_.omitOptionalTags || false,\n allowParseErrors: options_.allowParseErrors || false,\n allowDangerousCharacters: options_.allowDangerousCharacters || false,\n quoteSmart: options_.quoteSmart || false,\n preferUnquoted: options_.preferUnquoted || false,\n tightAttributes: options_.tightAttributes || false,\n upperDoctype: options_.upperDoctype || false,\n tightDoctype: options_.tightDoctype || false,\n bogusComments: options_.bogusComments || false,\n tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n tightSelfClosing: options_.tightSelfClosing || false,\n collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n allowDangerousHtml: options_.allowDangerousHtml || false,\n voids: options_.voids || htmlVoidElements,\n characterReferences:\n options_.characterReferences || emptyCharacterReferences,\n closeSelfClosing: options_.closeSelfClosing || false,\n closeEmptyElements: options_.closeEmptyElements || false\n },\n schema: options_.space === 'svg' ? svg : html,\n quote,\n alternative\n }\n\n return state.one(\n Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n undefined,\n undefined\n )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Nodes} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {string}\n * Serialized node.\n */\nfunction one(node, index, parent) {\n return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Parents | undefined} parent\n * Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n /** @type {Array<string>} */\n const results = []\n const children = (parent && parent.children) || emptyChildren\n let index = -1\n\n while (++index < children.length) {\n results[index] = this.one(children[index], index, parent)\n }\n\n return results.join('')\n}\n","import { ShikiError as ShikiError$1 } from \"@shikijs/types\";\nimport { ShikiError, applyColorReplacements, codeToTokensBase as codeToTokensBase$1, codeToTokensWithThemes, codeToTokensWithThemes as codeToTokensWithThemes$1, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitive as createShikiPrimitive$1, createShikiPrimitiveAsync, createShikiPrimitiveAsync as createShikiPrimitiveAsync$1, getLastGrammarState, getLastGrammarStateFromMap, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, normalizeGetter, normalizeTheme, resolveColorReplacements, setLastGrammarStateToMap, splitLines, splitLines as splitLines$1, toArray, tokenizeWithTheme } from \"@shikijs/primitive\";\nimport { FontStyle } from \"@shikijs/vscode-textmate\";\nimport { toHtml } from \"hast-util-to-html\";\n\nexport * from \"@shikijs/types\"\n\n//#region src/utils/hast.ts\n/**\n* Utility to append class to a hast node\n*\n* If the `property.class` is a string, it will be splitted by space and converted to an array.\n*/\nfunction addClassToHast(node, className) {\n\tif (!className) return node;\n\tnode.properties ||= {};\n\tnode.properties.class ||= [];\n\tif (typeof node.properties.class === \"string\") node.properties.class = node.properties.class.split(/\\s+/g);\n\tif (!Array.isArray(node.properties.class)) node.properties.class = [];\n\tconst targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n\tfor (const c of targets) if (c && !node.properties.class.includes(c)) node.properties.class.push(c);\n\treturn node;\n}\n\n//#endregion\n//#region src/utils/strings.ts\n/**\n* Creates a converter between index and position in a code block.\n*\n* Overflow/underflow are unchecked.\n*/\nfunction createPositionConverter(code) {\n\tconst lines = splitLines$1(code, true).map(([line]) => line);\n\tfunction indexToPos(index) {\n\t\tif (index === code.length) return {\n\t\t\tline: lines.length - 1,\n\t\t\tcharacter: lines[lines.length - 1].length\n\t\t};\n\t\tlet character = index;\n\t\tlet line = 0;\n\t\tfor (const lineText of lines) {\n\t\t\tif (character < lineText.length) break;\n\t\t\tcharacter -= lineText.length;\n\t\t\tline++;\n\t\t}\n\t\treturn {\n\t\t\tline,\n\t\t\tcharacter\n\t\t};\n\t}\n\tfunction posToIndex(line, character) {\n\t\tlet index = 0;\n\t\tfor (let i = 0; i < line; i++) index += lines[i].length;\n\t\tindex += character;\n\t\treturn index;\n\t}\n\treturn {\n\t\tlines,\n\t\tindexToPos,\n\t\tposToIndex\n\t};\n}\n/**\n* Guess embedded languages from given code and highlighter.\n*\n* When highlighter is provided, only bundled languages will be included.\n*\n* @param code - The code string to analyze\n* @param _lang - The primary language of the code (currently unused)\n* @param highlighter - Optional highlighter instance to validate languages\n* @returns Array of detected language identifiers\n*\n* @example\n* ```ts\n* // Detects 'javascript' from Vue SFC\n* guessEmbeddedLanguages('<script lang=\"javascript\">')\n*\n* // Detects 'python' from markdown code block\n* guessEmbeddedLanguages('```python\\nprint(\"hi\")\\n```')\n* ```\n*/\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n\tconst langs = /* @__PURE__ */ new Set();\n\tfor (const match of code.matchAll(/:?lang=[\"']([^\"']+)[\"']/g)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(/(?:```|~~~)([\\w-]+)/g)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(/\\\\begin\\{([\\w-]+)\\}/g)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(/<script\\s+(?:type|lang)=[\"']([^\"']+)[\"']/gi)) {\n\t\tconst fullType = match[1].toLowerCase().trim();\n\t\tconst lang = fullType.includes(\"/\") ? fullType.split(\"/\").pop() : fullType;\n\t\tif (lang) langs.add(lang);\n\t}\n\tif (!highlighter) return Array.from(langs);\n\tconst bundle = highlighter.getBundledLanguages();\n\treturn Array.from(langs).filter((l) => l && bundle[l]);\n}\n\n//#endregion\n//#region src/utils/constants.ts\nconst DEFAULT_COLOR_LIGHT_DARK = \"light-dark()\";\nconst COLOR_KEYS = [\"color\", \"background-color\"];\n\n//#endregion\n//#region src/utils/tokens.ts\n/**\n* Split a token into multiple tokens by given offsets.\n*\n* The offsets are relative to the token, and should be sorted.\n*/\nfunction splitToken(token, offsets) {\n\tlet lastOffset = 0;\n\tconst tokens = [];\n\tfor (const offset of offsets) {\n\t\tif (offset > lastOffset) tokens.push({\n\t\t\t...token,\n\t\t\tcontent: token.content.slice(lastOffset, offset),\n\t\t\toffset: token.offset + lastOffset\n\t\t});\n\t\tlastOffset = offset;\n\t}\n\tif (lastOffset < token.content.length) tokens.push({\n\t\t...token,\n\t\tcontent: token.content.slice(lastOffset),\n\t\toffset: token.offset + lastOffset\n\t});\n\treturn tokens;\n}\n/**\n* Split 2D tokens array by given breakpoints.\n*/\nfunction splitTokens(tokens, breakpoints) {\n\tconst sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n\tif (!sorted.length) return tokens;\n\treturn tokens.map((line) => {\n\t\treturn line.flatMap((token) => {\n\t\t\tconst breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n\t\t\tif (!breakpointsInToken.length) return token;\n\t\t\treturn splitToken(token, breakpointsInToken);\n\t\t});\n\t});\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor, colorsRendering = \"css-vars\") {\n\tconst token = {\n\t\tcontent: merged.content,\n\t\texplanation: merged.explanation,\n\t\toffset: merged.offset\n\t};\n\tconst styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n\tconst styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n\tconst mergedStyles = {};\n\tconst varKey = (idx, key) => {\n\t\tconst keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n\t\treturn cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n\t};\n\tstyles.forEach((cur, idx) => {\n\t\tfor (const key of styleKeys) {\n\t\t\tconst value = cur[key] || \"inherit\";\n\t\t\tif (idx === 0 && defaultColor && COLOR_KEYS.includes(key)) if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && styles.length > 1) {\n\t\t\t\tconst lightIndex = variantsOrder.findIndex((t) => t === \"light\");\n\t\t\t\tconst darkIndex = variantsOrder.findIndex((t) => t === \"dark\");\n\t\t\t\tif (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1(\"When using `defaultColor: \\\"light-dark()\\\"`, you must provide both `light` and `dark` themes\");\n\t\t\t\tmergedStyles[key] = `light-dark(${styles[lightIndex][key] || \"inherit\"}, ${styles[darkIndex][key] || \"inherit\"})`;\n\t\t\t\tif (colorsRendering === \"css-vars\") mergedStyles[varKey(idx, key)] = value;\n\t\t\t} else mergedStyles[key] = value;\n\t\t\telse if (colorsRendering === \"css-vars\") mergedStyles[varKey(idx, key)] = value;\n\t\t}\n\t});\n\ttoken.htmlStyle = mergedStyles;\n\treturn token;\n}\nfunction getTokenStyleObject(token) {\n\tconst styles = {};\n\tif (token.color) styles.color = token.color;\n\tif (token.bgColor) styles[\"background-color\"] = token.bgColor;\n\tif (token.fontStyle) {\n\t\tif (token.fontStyle & FontStyle.Italic) styles[\"font-style\"] = \"italic\";\n\t\tif (token.fontStyle & FontStyle.Bold) styles[\"font-weight\"] = \"bold\";\n\t\tconst decorations = [];\n\t\tif (token.fontStyle & FontStyle.Underline) decorations.push(\"underline\");\n\t\tif (token.fontStyle & FontStyle.Strikethrough) decorations.push(\"line-through\");\n\t\tif (decorations.length) styles[\"text-decoration\"] = decorations.join(\" \");\n\t}\n\treturn styles;\n}\nfunction stringifyTokenStyle(token) {\n\tif (typeof token === \"string\") return token;\n\treturn Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n\n//#endregion\n//#region src/transformer-decorations.ts\n/**\n* A built-in transformer to add decorations to the highlighted code.\n*/\nfunction transformerDecorations() {\n\tconst map = /* @__PURE__ */ new WeakMap();\n\tfunction getContext(shiki) {\n\t\tif (!map.has(shiki.meta)) {\n\t\t\tconst converter = createPositionConverter(shiki.source);\n\t\t\tfunction normalizePosition(p) {\n\t\t\t\tif (typeof p === \"number\") {\n\t\t\t\t\tif (p < 0 || p > shiki.source.length) throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...converter.indexToPos(p),\n\t\t\t\t\t\toffset: p\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tconst line = converter.lines[p.line];\n\t\t\t\t\tif (line === void 0) throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n\t\t\t\t\tlet character = p.character;\n\t\t\t\t\tif (character < 0) character = line.length + character;\n\t\t\t\t\tif (character < 0 || character > line.length) throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...p,\n\t\t\t\t\t\tcharacter,\n\t\t\t\t\t\toffset: converter.posToIndex(p.line, character)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst decorations = (shiki.options.decorations || []).map((d) => ({\n\t\t\t\t...d,\n\t\t\t\tstart: normalizePosition(d.start),\n\t\t\t\tend: normalizePosition(d.end)\n\t\t\t}));\n\t\t\tverifyIntersections(decorations);\n\t\t\tmap.set(shiki.meta, {\n\t\t\t\tdecorations,\n\t\t\t\tconverter,\n\t\t\t\tsource: shiki.source\n\t\t\t});\n\t\t}\n\t\treturn map.get(shiki.meta);\n\t}\n\treturn {\n\t\tname: \"shiki:decorations\",\n\t\ttokens(tokens) {\n\t\t\tif (!this.options.decorations?.length) return;\n\t\t\treturn splitTokens(tokens, getContext(this).decorations.flatMap((d) => [d.start.offset, d.end.offset]));\n\t\t},\n\t\tcode(codeEl) {\n\t\t\tif (!this.options.decorations?.length) return;\n\t\t\tconst ctx = getContext(this);\n\t\t\tconst lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n\t\t\tif (lines.length !== ctx.converter.lines.length) throw new ShikiError$1(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n\t\t\tfunction applyLineSection(line, start, end, decoration) {\n\t\t\t\tconst lineEl = lines[line];\n\t\t\t\tlet text = \"\";\n\t\t\t\tlet startIndex = -1;\n\t\t\t\tlet endIndex = -1;\n\t\t\t\tif (start === 0) startIndex = 0;\n\t\t\t\tif (end === 0) endIndex = 0;\n\t\t\t\tif (end === Number.POSITIVE_INFINITY) endIndex = lineEl.children.length;\n\t\t\t\tif (startIndex === -1 || endIndex === -1) for (let i = 0; i < lineEl.children.length; i++) {\n\t\t\t\t\ttext += stringify(lineEl.children[i]);\n\t\t\t\t\tif (startIndex === -1 && text.length === start) startIndex = i + 1;\n\t\t\t\t\tif (endIndex === -1 && text.length === end) endIndex = i + 1;\n\t\t\t\t}\n\t\t\t\tif (startIndex === -1) throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n\t\t\t\tif (endIndex === -1) throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n\t\t\t\tconst children = lineEl.children.slice(startIndex, endIndex);\n\t\t\t\tif (!decoration.alwaysWrap && children.length === lineEl.children.length) applyDecoration(lineEl, decoration, \"line\");\n\t\t\t\telse if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") applyDecoration(children[0], decoration, \"token\");\n\t\t\t\telse {\n\t\t\t\t\tconst wrapper = {\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttagName: \"span\",\n\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\tchildren\n\t\t\t\t\t};\n\t\t\t\t\tapplyDecoration(wrapper, decoration, \"wrapper\");\n\t\t\t\t\tlineEl.children.splice(startIndex, children.length, wrapper);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction applyLine(line, decoration) {\n\t\t\t\tlines[line] = applyDecoration(lines[line], decoration, \"line\");\n\t\t\t}\n\t\t\tfunction applyDecoration(el, decoration, type) {\n\t\t\t\tconst properties = decoration.properties || {};\n\t\t\t\tconst transform = decoration.transform || ((i) => i);\n\t\t\t\tel.tagName = decoration.tagName || \"span\";\n\t\t\t\tel.properties = {\n\t\t\t\t\t...el.properties,\n\t\t\t\t\t...properties,\n\t\t\t\t\tclass: el.properties.class\n\t\t\t\t};\n\t\t\t\tif (decoration.properties?.class) addClassToHast(el, decoration.properties.class);\n\t\t\t\tel = transform(el, type) || el;\n\t\t\t\treturn el;\n\t\t\t}\n\t\t\tconst lineApplies = [];\n\t\t\tconst sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n\t\t\tfor (const decoration of sorted) {\n\t\t\t\tconst { start, end } = decoration;\n\t\t\t\tif (start.line === end.line) applyLineSection(start.line, start.character, end.character, decoration);\n\t\t\t\telse if (start.line < end.line) {\n\t\t\t\t\tapplyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n\t\t\t\t\tfor (let i = start.line + 1; i < end.line; i++) lineApplies.unshift(() => applyLine(i, decoration));\n\t\t\t\t\tapplyLineSection(end.line, 0, end.character, decoration);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlineApplies.forEach((i) => i());\n\t\t}\n\t};\n}\nfunction verifyIntersections(items) {\n\tfor (let i = 0; i < items.length; i++) {\n\t\tconst foo = items[i];\n\t\tif (foo.start.offset > foo.end.offset) throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n\t\tfor (let j = i + 1; j < items.length; j++) {\n\t\t\tconst bar = items[j];\n\t\t\tconst isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n\t\t\tconst isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n\t\t\tconst isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n\t\t\tconst isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n\t\t\tif (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n\t\t\t\tif (isFooHasBarStart && isFooHasBarEnd) continue;\n\t\t\t\tif (isBarHasFooStart && isBarHasFooEnd) continue;\n\t\t\t\tif (isBarHasFooStart && foo.start.offset === foo.end.offset) continue;\n\t\t\t\tif (isFooHasBarEnd && bar.start.offset === bar.end.offset) continue;\n\t\t\t\tthrow new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n\t\t\t}\n\t\t}\n\t}\n}\nfunction stringify(el) {\n\tif (el.type === \"text\") return el.value;\n\tif (el.type === \"element\") return el.children.map(stringify).join(\"\");\n\treturn \"\";\n}\n\n//#endregion\n//#region src/highlight/_get-transformers.ts\nconst builtInTransformers = [/* @__PURE__ */ transformerDecorations()];\nfunction getTransformers(options) {\n\tconst transformers = sortTransformersByEnforcement(options.transformers || []);\n\treturn [\n\t\t...transformers.pre,\n\t\t...transformers.normal,\n\t\t...transformers.post,\n\t\t...builtInTransformers\n\t];\n}\nfunction sortTransformersByEnforcement(transformers) {\n\tconst pre = [];\n\tconst post = [];\n\tconst normal = [];\n\tfor (const transformer of transformers) switch (transformer.enforce) {\n\t\tcase \"pre\":\n\t\t\tpre.push(transformer);\n\t\t\tbreak;\n\t\tcase \"post\":\n\t\t\tpost.push(transformer);\n\t\t\tbreak;\n\t\tdefault: normal.push(transformer);\n\t}\n\treturn {\n\t\tpre,\n\t\tpost,\n\t\tnormal\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/ansi-sequence-parser@1.1.3/node_modules/ansi-sequence-parser/dist/index.js\nvar namedColors = [\n\t\"black\",\n\t\"red\",\n\t\"green\",\n\t\"yellow\",\n\t\"blue\",\n\t\"magenta\",\n\t\"cyan\",\n\t\"white\",\n\t\"brightBlack\",\n\t\"brightRed\",\n\t\"brightGreen\",\n\t\"brightYellow\",\n\t\"brightBlue\",\n\t\"brightMagenta\",\n\t\"brightCyan\",\n\t\"brightWhite\"\n];\nvar decorations = {\n\t1: \"bold\",\n\t2: \"dim\",\n\t3: \"italic\",\n\t4: \"underline\",\n\t7: \"reverse\",\n\t8: \"hidden\",\n\t9: \"strikethrough\"\n};\nfunction findSequence(value, position) {\n\tconst nextEscape = value.indexOf(\"\\x1B\", position);\n\tif (nextEscape !== -1) {\n\t\tif (value[nextEscape + 1] === \"[\") {\n\t\t\tconst nextClose = value.indexOf(\"m\", nextEscape);\n\t\t\tif (nextClose !== -1) return {\n\t\t\t\tsequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n\t\t\t\tstartPosition: nextEscape,\n\t\t\t\tposition: nextClose + 1\n\t\t\t};\n\t\t}\n\t}\n\treturn { position: value.length };\n}\nfunction parseColor(sequence) {\n\tconst colorMode = sequence.shift();\n\tif (colorMode === \"2\") {\n\t\tconst rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n\t\tif (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x))) return;\n\t\treturn {\n\t\t\ttype: \"rgb\",\n\t\t\trgb\n\t\t};\n\t} else if (colorMode === \"5\") {\n\t\tconst index = sequence.shift();\n\t\tif (index) return {\n\t\t\ttype: \"table\",\n\t\t\tindex: Number(index)\n\t\t};\n\t}\n}\nfunction parseSequence(sequence) {\n\tconst commands = [];\n\twhile (sequence.length > 0) {\n\t\tconst code = sequence.shift();\n\t\tif (!code) continue;\n\t\tconst codeInt = Number.parseInt(code);\n\t\tif (Number.isNaN(codeInt)) continue;\n\t\tif (codeInt === 0) commands.push({ type: \"resetAll\" });\n\t\telse if (codeInt <= 9) {\n\t\t\tif (decorations[codeInt]) commands.push({\n\t\t\t\ttype: \"setDecoration\",\n\t\t\t\tvalue: decorations[codeInt]\n\t\t\t});\n\t\t} else if (codeInt <= 29) {\n\t\t\tconst decoration = decorations[codeInt - 20];\n\t\t\tif (decoration) {\n\t\t\t\tcommands.push({\n\t\t\t\t\ttype: \"resetDecoration\",\n\t\t\t\t\tvalue: decoration\n\t\t\t\t});\n\t\t\t\tif (decoration === \"dim\") commands.push({\n\t\t\t\t\ttype: \"resetDecoration\",\n\t\t\t\t\tvalue: \"bold\"\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (codeInt <= 37) commands.push({\n\t\t\ttype: \"setForegroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 30]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt === 38) {\n\t\t\tconst color = parseColor(sequence);\n\t\t\tif (color) commands.push({\n\t\t\t\ttype: \"setForegroundColor\",\n\t\t\t\tvalue: color\n\t\t\t});\n\t\t} else if (codeInt === 39) commands.push({ type: \"resetForegroundColor\" });\n\t\telse if (codeInt <= 47) commands.push({\n\t\t\ttype: \"setBackgroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 40]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt === 48) {\n\t\t\tconst color = parseColor(sequence);\n\t\t\tif (color) commands.push({\n\t\t\t\ttype: \"setBackgroundColor\",\n\t\t\t\tvalue: color\n\t\t\t});\n\t\t} else if (codeInt === 49) commands.push({ type: \"resetBackgroundColor\" });\n\t\telse if (codeInt === 53) commands.push({\n\t\t\ttype: \"setDecoration\",\n\t\t\tvalue: \"overline\"\n\t\t});\n\t\telse if (codeInt === 55) commands.push({\n\t\t\ttype: \"resetDecoration\",\n\t\t\tvalue: \"overline\"\n\t\t});\n\t\telse if (codeInt >= 90 && codeInt <= 97) commands.push({\n\t\t\ttype: \"setForegroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 90 + 8]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt >= 100 && codeInt <= 107) commands.push({\n\t\t\ttype: \"setBackgroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 100 + 8]\n\t\t\t}\n\t\t});\n\t}\n\treturn commands;\n}\nfunction createAnsiSequenceParser() {\n\tlet foreground = null;\n\tlet background = null;\n\tlet decorations2 = /* @__PURE__ */ new Set();\n\treturn { parse(value) {\n\t\tconst tokens = [];\n\t\tlet position = 0;\n\t\tdo {\n\t\t\tconst findResult = findSequence(value, position);\n\t\t\tconst text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n\t\t\tif (text.length > 0) tokens.push({\n\t\t\t\tvalue: text,\n\t\t\t\tforeground,\n\t\t\t\tbackground,\n\t\t\t\tdecorations: new Set(decorations2)\n\t\t\t});\n\t\t\tif (findResult.sequence) {\n\t\t\t\tconst commands = parseSequence(findResult.sequence);\n\t\t\t\tfor (const styleToken of commands) if (styleToken.type === \"resetAll\") {\n\t\t\t\t\tforeground = null;\n\t\t\t\t\tbackground = null;\n\t\t\t\t\tdecorations2.clear();\n\t\t\t\t} else if (styleToken.type === \"resetForegroundColor\") foreground = null;\n\t\t\t\telse if (styleToken.type === \"resetBackgroundColor\") background = null;\n\t\t\t\telse if (styleToken.type === \"resetDecoration\") decorations2.delete(styleToken.value);\n\t\t\t\tfor (const styleToken of commands) if (styleToken.type === \"setForegroundColor\") foreground = styleToken.value;\n\t\t\t\telse if (styleToken.type === \"setBackgroundColor\") background = styleToken.value;\n\t\t\t\telse if (styleToken.type === \"setDecoration\") decorations2.add(styleToken.value);\n\t\t\t}\n\t\t\tposition = findResult.position;\n\t\t} while (position < value.length);\n\t\treturn tokens;\n\t} };\n}\nvar defaultNamedColorsMap = {\n\tblack: \"#000000\",\n\tred: \"#bb0000\",\n\tgreen: \"#00bb00\",\n\tyellow: \"#bbbb00\",\n\tblue: \"#0000bb\",\n\tmagenta: \"#ff00ff\",\n\tcyan: \"#00bbbb\",\n\twhite: \"#eeeeee\",\n\tbrightBlack: \"#555555\",\n\tbrightRed: \"#ff5555\",\n\tbrightGreen: \"#00ff00\",\n\tbrightYellow: \"#ffff55\",\n\tbrightBlue: \"#5555ff\",\n\tbrightMagenta: \"#ff55ff\",\n\tbrightCyan: \"#55ffff\",\n\tbrightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n\tfunction namedColor(name) {\n\t\treturn namedColorsMap[name];\n\t}\n\tfunction rgbColor(rgb) {\n\t\treturn `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n\t}\n\tlet colorTable;\n\tfunction getColorTable() {\n\t\tif (colorTable) return colorTable;\n\t\tcolorTable = [];\n\t\tfor (let i = 0; i < namedColors.length; i++) colorTable.push(namedColor(namedColors[i]));\n\t\tlet levels = [\n\t\t\t0,\n\t\t\t95,\n\t\t\t135,\n\t\t\t175,\n\t\t\t215,\n\t\t\t255\n\t\t];\n\t\tfor (let r = 0; r < 6; r++) for (let g = 0; g < 6; g++) for (let b = 0; b < 6; b++) colorTable.push(rgbColor([\n\t\t\tlevels[r],\n\t\t\tlevels[g],\n\t\t\tlevels[b]\n\t\t]));\n\t\tlet level = 8;\n\t\tfor (let i = 0; i < 24; i++, level += 10) colorTable.push(rgbColor([\n\t\t\tlevel,\n\t\t\tlevel,\n\t\t\tlevel\n\t\t]));\n\t\treturn colorTable;\n\t}\n\tfunction tableColor(index) {\n\t\treturn getColorTable()[index];\n\t}\n\tfunction value(color) {\n\t\tswitch (color.type) {\n\t\t\tcase \"named\": return namedColor(color.name);\n\t\t\tcase \"rgb\": return rgbColor(color.rgb);\n\t\t\tcase \"table\": return tableColor(color.index);\n\t\t}\n\t}\n\treturn { value };\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens-ansi.ts\n/**\n* Default ANSI palette (VSCode compatible fallbacks)\n* Used when the theme does not define terminal.ansi* colors.\n*/\nconst defaultAnsiColors = {\n\tblack: \"#000000\",\n\tred: \"#cd3131\",\n\tgreen: \"#0DBC79\",\n\tyellow: \"#E5E510\",\n\tblue: \"#2472C8\",\n\tmagenta: \"#BC3FBC\",\n\tcyan: \"#11A8CD\",\n\twhite: \"#E5E5E5\",\n\tbrightBlack: \"#666666\",\n\tbrightRed: \"#F14C4C\",\n\tbrightGreen: \"#23D18B\",\n\tbrightYellow: \"#F5F543\",\n\tbrightBlue: \"#3B8EEA\",\n\tbrightMagenta: \"#D670D6\",\n\tbrightCyan: \"#29B8DB\",\n\tbrightWhite: \"#FFFFFF\"\n};\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n\tconst colorReplacements = resolveColorReplacements(theme, options);\n\tconst lines = splitLines(fileContents);\n\tconst colorPalette = createColorPalette(Object.fromEntries(namedColors.map((name) => {\n\t\tconst key = `terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`;\n\t\treturn [name, theme.colors?.[key] || defaultAnsiColors[name]];\n\t})));\n\tconst parser = createAnsiSequenceParser();\n\treturn lines.map((line) => parser.parse(line[0]).map((token) => {\n\t\tlet color;\n\t\tlet bgColor;\n\t\tif (token.decorations.has(\"reverse\")) {\n\t\t\tcolor = token.background ? colorPalette.value(token.background) : theme.bg;\n\t\t\tbgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n\t\t} else {\n\t\t\tcolor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n\t\t\tbgColor = token.background ? colorPalette.value(token.background) : void 0;\n\t\t}\n\t\tcolor = applyColorReplacements(color, colorReplacements);\n\t\tbgColor = applyColorReplacements(bgColor, colorReplacements);\n\t\tif (token.decorations.has(\"dim\")) color = dimColor(color);\n\t\tlet fontStyle = FontStyle.None;\n\t\tif (token.decorations.has(\"bold\")) fontStyle |= FontStyle.Bold;\n\t\tif (token.decorations.has(\"italic\")) fontStyle |= FontStyle.Italic;\n\t\tif (token.decorations.has(\"underline\")) fontStyle |= FontStyle.Underline;\n\t\tif (token.decorations.has(\"strikethrough\")) fontStyle |= FontStyle.Strikethrough;\n\t\treturn {\n\t\t\tcontent: token.value,\n\t\t\toffset: line[1],\n\t\t\tcolor,\n\t\t\tbgColor,\n\t\t\tfontStyle\n\t\t};\n\t}));\n}\n/**\n* Adds 50% alpha to a hex color string or the \"-dim\" postfix to a CSS variable\n*/\nfunction dimColor(color) {\n\tconst hexMatch = color.match(/#([0-9a-f]{3,8})/i);\n\tif (hexMatch) {\n\t\tconst hex = hexMatch[1];\n\t\tif (hex.length === 8) {\n\t\t\tconst alpha = Math.round(Number.parseInt(hex.slice(6, 8), 16) / 2).toString(16).padStart(2, \"0\");\n\t\t\treturn `#${hex.slice(0, 6)}${alpha}`;\n\t\t} else if (hex.length === 6) return `#${hex}80`;\n\t\telse if (hex.length === 4) {\n\t\t\tconst r = hex[0];\n\t\t\tconst g = hex[1];\n\t\t\tconst b = hex[2];\n\t\t\tconst a = hex[3];\n\t\t\treturn `#${r}${r}${g}${g}${b}${b}${Math.round(Number.parseInt(`${a}${a}`, 16) / 2).toString(16).padStart(2, \"0\")}`;\n\t\t} else if (hex.length === 3) {\n\t\t\tconst r = hex[0];\n\t\t\tconst g = hex[1];\n\t\t\tconst b = hex[2];\n\t\t\treturn `#${r}${r}${g}${g}${b}${b}80`;\n\t\t}\n\t}\n\tconst cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n\tif (cssVarMatch) return `var(${cssVarMatch[1]}-dim)`;\n\treturn color;\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens-base.ts\n/**\n* Code to tokens, with a simple theme.\n* This wraps the tokenizer's implementation to add ANSI support.\n*/\nfunction codeToTokensBase(primitive, code, options = {}) {\n\tconst lang = primitive.resolveLangAlias(options.lang || \"text\");\n\tconst { theme: themeName = primitive.getLoadedThemes()[0] } = options;\n\tif (!isPlainLang(lang) && !isNoneTheme(themeName) && lang === \"ansi\") {\n\t\tconst { theme } = primitive.setTheme(themeName);\n\t\treturn tokenizeAnsiWithTheme(theme, code, options);\n\t}\n\treturn codeToTokensBase$1(primitive, code, options);\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens.ts\n/**\n* High-level code-to-tokens API.\n*\n* It will use `codeToTokensWithThemes` or `codeToTokensBase` based on the options.\n*/\nfunction codeToTokens(primitive, code, options) {\n\tlet bg;\n\tlet fg;\n\tlet tokens;\n\tlet themeName;\n\tlet rootStyle;\n\tlet grammarState;\n\tif (\"themes\" in options) {\n\t\tconst { defaultColor = \"light\", cssVariablePrefix = \"--shiki-\", colorsRendering = \"css-vars\" } = options;\n\t\tconst themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({\n\t\t\tcolor: i[0],\n\t\t\ttheme: i[1]\n\t\t})).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n\t\tif (themes.length === 0) throw new ShikiError$1(\"`themes` option must not be empty\");\n\t\tconst themeTokens = codeToTokensWithThemes$1(primitive, code, options);\n\t\tgrammarState = getLastGrammarStateFromMap(themeTokens);\n\t\tif (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes.find((t) => t.color === defaultColor)) throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n\t\tconst themeRegs = themes.map((t) => primitive.getTheme(t.theme));\n\t\tconst themesOrder = themes.map((t) => t.color);\n\t\ttokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));\n\t\tif (grammarState) setLastGrammarStateToMap(tokens, grammarState);\n\t\tconst themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n\t\tfg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"fg\", colorsRendering);\n\t\tbg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"bg\", colorsRendering);\n\t\tthemeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n\t\trootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n\t} else if (\"theme\" in options) {\n\t\tconst colorReplacements = resolveColorReplacements(options.theme, options);\n\t\ttokens = codeToTokensBase(primitive, code, options);\n\t\tconst _theme = primitive.getTheme(options.theme);\n\t\tbg = applyColorReplacements(_theme.bg, colorReplacements);\n\t\tfg = applyColorReplacements(_theme.fg, colorReplacements);\n\t\tthemeName = _theme.name;\n\t\tgrammarState = getLastGrammarStateFromMap(tokens);\n\t} else throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n\treturn {\n\t\ttokens,\n\t\tfg,\n\t\tbg,\n\t\tthemeName,\n\t\trootStyle,\n\t\tgrammarState\n\t};\n}\nfunction mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, property, colorsRendering) {\n\treturn themes.map((t, idx) => {\n\t\tconst value = applyColorReplacements(themeRegs[idx][property], themeColorReplacements[idx]) || \"inherit\";\n\t\tconst cssVar = `${cssVariablePrefix + t.color}${property === \"bg\" ? \"-bg\" : \"\"}:${value}`;\n\t\tif (idx === 0 && defaultColor) {\n\t\t\tif (defaultColor === DEFAULT_COLOR_LIGHT_DARK && themes.length > 1) {\n\t\t\t\tconst lightIndex = themes.findIndex((t) => t.color === \"light\");\n\t\t\t\tconst darkIndex = themes.findIndex((t) => t.color === \"dark\");\n\t\t\t\tif (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1(\"When using `defaultColor: \\\"light-dark()\\\"`, you must provide both `light` and `dark` themes\");\n\t\t\t\treturn `light-dark(${applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || \"inherit\"}, ${applyColorReplacements(themeRegs[darkIndex][property], themeColorReplacements[darkIndex]) || \"inherit\"});${cssVar}`;\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t\tif (colorsRendering === \"css-vars\") return cssVar;\n\t\treturn null;\n\t}).filter((i) => !!i).join(\";\");\n}\n\n//#endregion\n//#region src/highlight/code-to-hast.ts\nfunction codeToHast(primitive, code, options, transformerContext = {\n\tmeta: {},\n\toptions,\n\tcodeToHast: (_code, _options) => codeToHast(primitive, _code, _options),\n\tcodeToTokens: (_code, _options) => codeToTokens(primitive, _code, _options)\n}) {\n\tlet input = code;\n\tfor (const transformer of getTransformers(options)) input = transformer.preprocess?.call(transformerContext, input, options) || input;\n\tlet { tokens, fg, bg, themeName, rootStyle, grammarState } = codeToTokens(primitive, input, options);\n\tconst { mergeWhitespaces = true, mergeSameStyleTokens = false } = options;\n\tif (mergeWhitespaces === true) tokens = mergeWhitespaceTokens(tokens);\n\telse if (mergeWhitespaces === \"never\") tokens = splitWhitespaceTokens(tokens);\n\tif (mergeSameStyleTokens) tokens = mergeAdjacentStyledTokens(tokens);\n\tconst contextSource = {\n\t\t...transformerContext,\n\t\tget source() {\n\t\t\treturn input;\n\t\t}\n\t};\n\tfor (const transformer of getTransformers(options)) tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n\treturn tokensToHast(tokens, {\n\t\t...options,\n\t\tfg,\n\t\tbg,\n\t\tthemeName,\n\t\trootStyle: options.rootStyle === false ? false : options.rootStyle ?? rootStyle\n\t}, contextSource, grammarState);\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n\tconst transformers = getTransformers(options);\n\tconst lines = [];\n\tconst root = {\n\t\ttype: \"root\",\n\t\tchildren: []\n\t};\n\tconst { structure = \"classic\", tabindex = \"0\" } = options;\n\tconst properties = { class: `shiki ${options.themeName || \"\"}` };\n\tif (options.rootStyle !== false) if (options.rootStyle != null) properties.style = options.rootStyle;\n\telse properties.style = `background-color:${options.bg};color:${options.fg}`;\n\tif (tabindex !== false && tabindex != null) properties.tabindex = tabindex.toString();\n\tfor (const [key, value] of Object.entries(options.meta || {})) if (!key.startsWith(\"_\")) properties[key] = value;\n\tlet preNode = {\n\t\ttype: \"element\",\n\t\ttagName: \"pre\",\n\t\tproperties,\n\t\tchildren: [],\n\t\tdata: options.data\n\t};\n\tlet codeNode = {\n\t\ttype: \"element\",\n\t\ttagName: \"code\",\n\t\tproperties: {},\n\t\tchildren: lines\n\t};\n\tconst lineNodes = [];\n\tconst context = {\n\t\t...transformerContext,\n\t\tstructure,\n\t\taddClassToHast,\n\t\tget source() {\n\t\t\treturn transformerContext.source;\n\t\t},\n\t\tget tokens() {\n\t\t\treturn tokens;\n\t\t},\n\t\tget options() {\n\t\t\treturn options;\n\t\t},\n\t\tget root() {\n\t\t\treturn root;\n\t\t},\n\t\tget pre() {\n\t\t\treturn preNode;\n\t\t},\n\t\tget code() {\n\t\t\treturn codeNode;\n\t\t},\n\t\tget lines() {\n\t\t\treturn lineNodes;\n\t\t}\n\t};\n\ttokens.forEach((line, idx) => {\n\t\tif (idx) {\n\t\t\tif (structure === \"inline\") root.children.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"br\",\n\t\t\t\tproperties: {},\n\t\t\t\tchildren: []\n\t\t\t});\n\t\t\telse if (structure === \"classic\") lines.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: \"\\n\"\n\t\t\t});\n\t\t}\n\t\tlet lineNode = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"span\",\n\t\t\tproperties: { class: \"line\" },\n\t\t\tchildren: []\n\t\t};\n\t\tlet col = 0;\n\t\tfor (const token of line) {\n\t\t\tlet tokenNode = {\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"span\",\n\t\t\t\tproperties: { ...token.htmlAttrs },\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: token.content\n\t\t\t\t}]\n\t\t\t};\n\t\t\tconst style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n\t\t\tif (style) tokenNode.properties.style = style;\n\t\t\tfor (const transformer of transformers) tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n\t\t\tif (structure === \"inline\") root.children.push(tokenNode);\n\t\t\telse if (structure === \"classic\") lineNode.children.push(tokenNode);\n\t\t\tcol += token.content.length;\n\t\t}\n\t\tif (structure === \"classic\") {\n\t\t\tfor (const transformer of transformers) lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n\t\t\tlineNodes.push(lineNode);\n\t\t\tlines.push(lineNode);\n\t\t} else if (structure === \"inline\") lineNodes.push(lineNode);\n\t});\n\tif (structure === \"classic\") {\n\t\tfor (const transformer of transformers) codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n\t\tpreNode.children.push(codeNode);\n\t\tfor (const transformer of transformers) preNode = transformer?.pre?.call(context, preNode) || preNode;\n\t\troot.children.push(preNode);\n\t} else if (structure === \"inline\") {\n\t\tconst syntheticLines = [];\n\t\tlet currentLine = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"span\",\n\t\t\tproperties: { class: \"line\" },\n\t\t\tchildren: []\n\t\t};\n\t\tfor (const child of root.children) if (child.type === \"element\" && child.tagName === \"br\") {\n\t\t\tsyntheticLines.push(currentLine);\n\t\t\tcurrentLine = {\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"span\",\n\t\t\t\tproperties: { class: \"line\" },\n\t\t\t\tchildren: []\n\t\t\t};\n\t\t} else if (child.type === \"element\" || child.type === \"text\") currentLine.children.push(child);\n\t\tsyntheticLines.push(currentLine);\n\t\tlet transformedCode = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"code\",\n\t\t\tproperties: {},\n\t\t\tchildren: syntheticLines\n\t\t};\n\t\tfor (const transformer of transformers) transformedCode = transformer?.code?.call(context, transformedCode) || transformedCode;\n\t\troot.children = [];\n\t\tfor (let i = 0; i < transformedCode.children.length; i++) {\n\t\t\tif (i > 0) root.children.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"br\",\n\t\t\t\tproperties: {},\n\t\t\t\tchildren: []\n\t\t\t});\n\t\t\tconst line = transformedCode.children[i];\n\t\t\tif (line.type === \"element\") root.children.push(...line.children);\n\t\t}\n\t}\n\tlet result = root;\n\tfor (const transformer of transformers) result = transformer?.root?.call(context, result) || result;\n\tif (grammarState) setLastGrammarStateToMap(result, grammarState);\n\treturn result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\tconst newLine = [];\n\t\tlet carryOnContent = \"\";\n\t\tlet firstOffset;\n\t\tline.forEach((token, idx) => {\n\t\t\tconst couldMerge = !(token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough));\n\t\t\tif (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n\t\t\t\tif (firstOffset === void 0) firstOffset = token.offset;\n\t\t\t\tcarryOnContent += token.content;\n\t\t\t} else if (carryOnContent) {\n\t\t\t\tif (couldMerge) newLine.push({\n\t\t\t\t\t...token,\n\t\t\t\t\toffset: firstOffset,\n\t\t\t\t\tcontent: carryOnContent + token.content\n\t\t\t\t});\n\t\t\t\telse newLine.push({\n\t\t\t\t\tcontent: carryOnContent,\n\t\t\t\t\toffset: firstOffset\n\t\t\t\t}, token);\n\t\t\t\tfirstOffset = void 0;\n\t\t\t\tcarryOnContent = \"\";\n\t\t\t} else newLine.push(token);\n\t\t});\n\t\treturn newLine;\n\t});\n}\nfunction splitWhitespaceTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\treturn line.flatMap((token) => {\n\t\t\tif (token.content.match(/^\\s+$/)) return token;\n\t\t\tconst match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n\t\t\tif (!match) return token;\n\t\t\tconst [, leading, content, trailing] = match;\n\t\t\tif (!leading && !trailing) return token;\n\t\t\tconst expanded = [{\n\t\t\t\t...token,\n\t\t\t\toffset: token.offset + leading.length,\n\t\t\t\tcontent\n\t\t\t}];\n\t\t\tif (leading) expanded.unshift({\n\t\t\t\tcontent: leading,\n\t\t\t\toffset: token.offset\n\t\t\t});\n\t\t\tif (trailing) expanded.push({\n\t\t\t\tcontent: trailing,\n\t\t\t\toffset: token.offset + leading.length + content.length\n\t\t\t});\n\t\t\treturn expanded;\n\t\t});\n\t});\n}\nfunction mergeAdjacentStyledTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\tconst newLine = [];\n\t\tfor (const token of line) {\n\t\t\tif (newLine.length === 0) {\n\t\t\t\tnewLine.push({ ...token });\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst prevToken = newLine[newLine.length - 1];\n\t\t\tconst prevStyle = stringifyTokenStyle(prevToken.htmlStyle || getTokenStyleObject(prevToken));\n\t\t\tconst currentStyle = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n\t\t\tconst isPrevDecorated = prevToken.fontStyle && (prevToken.fontStyle & FontStyle.Underline || prevToken.fontStyle & FontStyle.Strikethrough);\n\t\t\tconst isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n\t\t\tif (!isPrevDecorated && !isDecorated && prevStyle === currentStyle) prevToken.content += token.content;\n\t\t\telse newLine.push({ ...token });\n\t\t}\n\t\treturn newLine;\n\t});\n}\n\n//#endregion\n//#region src/highlight/code-to-html.ts\nconst hastToHtml = toHtml;\n/**\n* Get highlighted code in HTML.\n*/\nfunction codeToHtml(primitive, code, options) {\n\tconst context = {\n\t\tmeta: {},\n\t\toptions,\n\t\tcodeToHast: (_code, _options) => codeToHast(primitive, _code, _options),\n\t\tcodeToTokens: (_code, _options) => codeToTokens(primitive, _code, _options)\n\t};\n\tlet result = hastToHtml(codeToHast(primitive, code, options, context));\n\tfor (const transformer of getTransformers(options)) result = transformer.postprocess?.call(context, result, options) || result;\n\treturn result;\n}\n\n//#endregion\n//#region src/constructors/highlighter.ts\n/**\n* Create a Shiki core highlighter instance, with no languages or themes bundled.\n* Wasm and each language and theme must be loaded manually.\n*\n* @see http://shiki.style/guide/bundles#fine-grained-bundle\n*/\nasync function createHighlighterCore(options) {\n\tconst primitive = await createShikiPrimitiveAsync$1(options);\n\treturn {\n\t\tgetLastGrammarState: (...args) => getLastGrammarState(primitive, ...args),\n\t\tcodeToTokensBase: (code, options) => codeToTokensBase(primitive, code, options),\n\t\tcodeToTokensWithThemes: (code, options) => codeToTokensWithThemes$1(primitive, code, options),\n\t\tcodeToTokens: (code, options) => codeToTokens(primitive, code, options),\n\t\tcodeToHast: (code, options) => codeToHast(primitive, code, options),\n\t\tcodeToHtml: (code, options) => codeToHtml(primitive, code, options),\n\t\tgetBundledLanguages: () => ({}),\n\t\tgetBundledThemes: () => ({}),\n\t\t...primitive,\n\t\tgetInternalContext: () => primitive\n\t};\n}\n/**\n* Create a Shiki core highlighter instance, with no languages or themes bundled.\n* Wasm and each language and theme must be loaded manually.\n*\n* Synchronous version of `createHighlighterCore`, which requires to provide the engine and all themes and languages upfront.\n*\n* @see http://shiki.style/guide/bundles#fine-grained-bundle\n*/\nfunction createHighlighterCoreSync(options) {\n\tconst internal = createShikiPrimitive$1(options);\n\treturn {\n\t\tgetLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n\t\tcodeToTokensBase: (code, options) => codeToTokensBase(internal, code, options),\n\t\tcodeToTokensWithThemes: (code, options) => codeToTokensWithThemes$1(internal, code, options),\n\t\tcodeToTokens: (code, options) => codeToTokens(internal, code, options),\n\t\tcodeToHast: (code, options) => codeToHast(internal, code, options),\n\t\tcodeToHtml: (code, options) => codeToHtml(internal, code, options),\n\t\tgetBundledLanguages: () => ({}),\n\t\tgetBundledThemes: () => ({}),\n\t\t...internal,\n\t\tgetInternalContext: () => internal\n\t};\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n\tlet _shiki;\n\tasync function getSingletonHighlighterCore(options) {\n\t\tif (!_shiki) {\n\t\t\t_shiki = createHighlighter({\n\t\t\t\t...options,\n\t\t\t\tthemes: options.themes || [],\n\t\t\t\tlangs: options.langs || []\n\t\t\t});\n\t\t\treturn _shiki;\n\t\t} else {\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t}\n\t}\n\treturn getSingletonHighlighterCore;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\n\n//#endregion\n//#region src/constructors/bundle-factory.ts\nfunction createBundledHighlighter(options) {\n\tconst bundledLanguages = options.langs;\n\tconst bundledThemes = options.themes;\n\tconst engine = options.engine;\n\tasync function createHighlighter(options) {\n\t\tfunction resolveLang(lang) {\n\t\t\tif (typeof lang === \"string\") {\n\t\t\t\tlang = options.langAlias?.[lang] || lang;\n\t\t\t\tif (isSpecialLang(lang)) return [];\n\t\t\t\tconst bundle = bundledLanguages[lang];\n\t\t\t\tif (!bundle) throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n\t\t\t\treturn bundle;\n\t\t\t}\n\t\t\treturn lang;\n\t\t}\n\t\tfunction resolveTheme(theme) {\n\t\t\tif (isSpecialTheme(theme)) return \"none\";\n\t\t\tif (typeof theme === \"string\") {\n\t\t\t\tconst bundle = bundledThemes[theme];\n\t\t\t\tif (!bundle) throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n\t\t\t\treturn bundle;\n\t\t\t}\n\t\t\treturn theme;\n\t\t}\n\t\tconst _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n\t\tconst langs = (options.langs ?? []).map((i) => resolveLang(i));\n\t\tconst core = await createHighlighterCore({\n\t\t\tengine: options.engine ?? engine(),\n\t\t\t...options,\n\t\t\tthemes: _themes,\n\t\t\tlangs\n\t\t});\n\t\treturn {\n\t\t\t...core,\n\t\t\tloadLanguage(...langs) {\n\t\t\t\treturn core.loadLanguage(...langs.map(resolveLang));\n\t\t\t},\n\t\t\tloadTheme(...themes) {\n\t\t\t\treturn core.loadTheme(...themes.map(resolveTheme));\n\t\t\t},\n\t\t\tgetBundledLanguages() {\n\t\t\t\treturn bundledLanguages;\n\t\t\t},\n\t\t\tgetBundledThemes() {\n\t\t\t\treturn bundledThemes;\n\t\t\t}\n\t\t};\n\t}\n\treturn createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n\tlet _shiki;\n\tasync function getSingletonHighlighter(options = {}) {\n\t\tif (!_shiki) {\n\t\t\t_shiki = createHighlighter({\n\t\t\t\t...options,\n\t\t\t\tthemes: [],\n\t\t\t\tlangs: []\n\t\t\t});\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t} else {\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t}\n\t}\n\treturn getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n\tconst getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n\tasync function get(code, options) {\n\t\tconst shiki = await getSingletonHighlighter({\n\t\t\tlangs: [options.lang],\n\t\t\tthemes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n\t\t});\n\t\tconst langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n\t\tif (langs) await shiki.loadLanguage(...langs);\n\t\treturn shiki;\n\t}\n\treturn {\n\t\tgetSingletonHighlighter(options) {\n\t\t\treturn getSingletonHighlighter(options);\n\t\t},\n\t\tasync codeToHtml(code, options) {\n\t\t\treturn (await get(code, options)).codeToHtml(code, options);\n\t\t},\n\t\tasync codeToHast(code, options) {\n\t\t\treturn (await get(code, options)).codeToHast(code, options);\n\t\t},\n\t\tasync codeToTokens(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokens(code, options);\n\t\t},\n\t\tasync codeToTokensBase(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokensBase(code, options);\n\t\t},\n\t\tasync codeToTokensWithThemes(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokensWithThemes(code, options);\n\t\t},\n\t\tasync getLastGrammarState(code, options) {\n\t\t\treturn (await getSingletonHighlighter({\n\t\t\t\tlangs: [options.lang],\n\t\t\t\tthemes: [options.theme]\n\t\t\t})).getLastGrammarState(code, options);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/theme-css-variables.ts\n/**\n* A factory function to create a css-variable-based theme\n*\n* @see https://shiki.style/guide/theme-colors#css-variables-theme\n*/\nfunction createCssVariablesTheme(options = {}) {\n\tconst { name = \"css-variables\", variablePrefix = \"--shiki-\", fontStyle = true } = options;\n\tconst variable = (name) => {\n\t\tif (options.variableDefaults?.[name]) return `var(${variablePrefix}${name}, ${options.variableDefaults[name]})`;\n\t\treturn `var(${variablePrefix}${name})`;\n\t};\n\tconst theme = {\n\t\tname,\n\t\ttype: \"dark\",\n\t\tcolors: {\n\t\t\t\"editor.foreground\": variable(\"foreground\"),\n\t\t\t\"editor.background\": variable(\"background\"),\n\t\t\t\"terminal.ansiBlack\": variable(\"ansi-black\"),\n\t\t\t\"terminal.ansiRed\": variable(\"ansi-red\"),\n\t\t\t\"terminal.ansiGreen\": variable(\"ansi-green\"),\n\t\t\t\"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n\t\t\t\"terminal.ansiBlue\": variable(\"ansi-blue\"),\n\t\t\t\"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n\t\t\t\"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n\t\t\t\"terminal.ansiWhite\": variable(\"ansi-white\"),\n\t\t\t\"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n\t\t\t\"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n\t\t\t\"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n\t\t\t\"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n\t\t\t\"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n\t\t\t\"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n\t\t\t\"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n\t\t\t\"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n\t\t},\n\t\ttokenColors: [\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"keyword.operator.accessor\",\n\t\t\t\t\t\"meta.group.braces.round.function.arguments\",\n\t\t\t\t\t\"meta.template.expression\",\n\t\t\t\t\t\"markup.fenced_code meta.embedded.block\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"foreground\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"emphasis\",\n\t\t\t\tsettings: { fontStyle: \"italic\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"strong\",\n\t\t\t\t\t\"markup.heading.markdown\",\n\t\t\t\t\t\"markup.bold.markdown\"\n\t\t\t\t],\n\t\t\t\tsettings: { fontStyle: \"bold\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.italic.markdown\"],\n\t\t\t\tsettings: { fontStyle: \"italic\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"meta.link.inline.markdown\",\n\t\t\t\tsettings: {\n\t\t\t\t\tfontStyle: \"underline\",\n\t\t\t\t\tforeground: variable(\"token-link\")\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"string\",\n\t\t\t\t\t\"markup.fenced_code\",\n\t\t\t\t\t\"markup.inline\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-string\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"comment\", \"string.quoted.docstring.multi\"],\n\t\t\t\tsettings: { foreground: variable(\"token-comment\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"constant.numeric\",\n\t\t\t\t\t\"constant.language\",\n\t\t\t\t\t\"constant.other.placeholder\",\n\t\t\t\t\t\"constant.character.format.placeholder\",\n\t\t\t\t\t\"variable.language.this\",\n\t\t\t\t\t\"variable.other.object\",\n\t\t\t\t\t\"variable.other.class\",\n\t\t\t\t\t\"variable.other.constant\",\n\t\t\t\t\t\"meta.property-name\",\n\t\t\t\t\t\"meta.property-value\",\n\t\t\t\t\t\"support\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-constant\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\"storage.modifier\",\n\t\t\t\t\t\"storage.type\",\n\t\t\t\t\t\"storage.control.clojure\",\n\t\t\t\t\t\"entity.name.function.clojure\",\n\t\t\t\t\t\"entity.name.tag.yaml\",\n\t\t\t\t\t\"support.function.node\",\n\t\t\t\t\t\"support.type.property-name.json\",\n\t\t\t\t\t\"punctuation.separator.key-value\",\n\t\t\t\t\t\"punctuation.definition.template-expression\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-keyword\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"variable.parameter.function\",\n\t\t\t\tsettings: { foreground: variable(\"token-parameter\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"support.function\",\n\t\t\t\t\t\"entity.name.type\",\n\t\t\t\t\t\"entity.other.inherited-class\",\n\t\t\t\t\t\"meta.function-call\",\n\t\t\t\t\t\"meta.instance.constructor\",\n\t\t\t\t\t\"entity.other.attribute-name\",\n\t\t\t\t\t\"entity.name.function\",\n\t\t\t\t\t\"constant.keyword.clojure\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-function\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"entity.name.tag\",\n\t\t\t\t\t\"string.quoted\",\n\t\t\t\t\t\"string.regexp\",\n\t\t\t\t\t\"string.interpolated\",\n\t\t\t\t\t\"string.template\",\n\t\t\t\t\t\"string.unquoted.plain.out.yaml\",\n\t\t\t\t\t\"keyword.other.template\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-string-expression\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"punctuation.definition.arguments\",\n\t\t\t\t\t\"punctuation.definition.dict\",\n\t\t\t\t\t\"punctuation.separator\",\n\t\t\t\t\t\"meta.function-call.arguments\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-punctuation\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.underline.link\", \"punctuation.definition.metadata.markdown\"],\n\t\t\t\tsettings: { foreground: variable(\"token-link\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"beginning.punctuation.definition.list.markdown\"],\n\t\t\t\tsettings: { foreground: variable(\"token-string\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"punctuation.definition.string.begin.markdown\",\n\t\t\t\t\t\"punctuation.definition.string.end.markdown\",\n\t\t\t\t\t\"string.other.link.title.markdown\",\n\t\t\t\t\t\"string.other.link.description.markdown\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-keyword\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"markup.inserted\",\n\t\t\t\t\t\"meta.diff.header.to-file\",\n\t\t\t\t\t\"punctuation.definition.inserted\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-inserted\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"markup.deleted\",\n\t\t\t\t\t\"meta.diff.header.from-file\",\n\t\t\t\t\t\"punctuation.definition.deleted\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-deleted\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.changed\", \"punctuation.definition.changed\"],\n\t\t\t\tsettings: { foreground: variable(\"token-changed\") }\n\t\t\t}\n\t\t]\n\t};\n\tif (!fontStyle) theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n\t\tif (tokenColor.settings?.fontStyle) delete tokenColor.settings.fontStyle;\n\t\treturn tokenColor;\n\t});\n\treturn theme;\n}\n\n//#endregion\nexport { ShikiError, addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createBundledHighlighter, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitiveAsync, createSingletonShorthands, flatTokenVariants, getLastGrammarState, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations };","import { n as __reExport, t as __exportAll } from \"./chunk-CtajNgzt.mjs\";\nimport { t as engine_oniguruma_exports } from \"./engine-oniguruma.mjs\";\nimport { i as bundledLanguagesInfo, n as bundledLanguagesAlias, r as bundledLanguagesBase, t as bundledLanguages } from \"./langs-bundle-full-CQWtMIqW.mjs\";\nimport { bundledThemes, bundledThemesInfo } from \"./themes.mjs\";\nimport { createBundledHighlighter, createSingletonShorthands, guessEmbeddedLanguages } from \"@shikijs/core\";\n\nexport * from \"@shikijs/core\"\n\n//#region src/bundle-full.ts\nvar bundle_full_exports = /* @__PURE__ */ __exportAll({\n\tbundledLanguages: () => bundledLanguages,\n\tbundledLanguagesAlias: () => bundledLanguagesAlias,\n\tbundledLanguagesBase: () => bundledLanguagesBase,\n\tbundledLanguagesInfo: () => bundledLanguagesInfo,\n\tbundledThemes: () => bundledThemes,\n\tbundledThemesInfo: () => bundledThemesInfo,\n\tcodeToHast: () => codeToHast,\n\tcodeToHtml: () => codeToHtml,\n\tcodeToTokens: () => codeToTokens,\n\tcodeToTokensBase: () => codeToTokensBase,\n\tcodeToTokensWithThemes: () => codeToTokensWithThemes,\n\tcreateHighlighter: () => createHighlighter,\n\tgetLastGrammarState: () => getLastGrammarState,\n\tgetSingletonHighlighter: () => getSingletonHighlighter\n});\n/**\n* Initiate a highlighter instance and load the specified languages and themes.\n* Later it can be used synchronously to highlight code.\n*\n* Importing this function will bundle all languages and themes.\n* @see https://shiki.style/guide/bundles#shiki-bundle-full\n*\n* For granular control over the bundle, check:\n* @see https://shiki.style/guide/bundles#fine-grained-bundle\n*/\nconst createHighlighter = /* @__PURE__ */ createBundledHighlighter({\n\tlangs: bundledLanguages,\n\tthemes: bundledThemes,\n\tengine: () => (0, engine_oniguruma_exports.createOnigurumaEngine)(import(\"shiki/wasm\"))\n});\nconst { codeToHtml, codeToHast, codeToTokens, codeToTokensBase, codeToTokensWithThemes, getSingletonHighlighter, getLastGrammarState } = /* @__PURE__ */ createSingletonShorthands(createHighlighter, { guessEmbeddedLanguages });\n\n//#endregion\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo, bundledThemes, bundledThemesInfo, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getLastGrammarState, getSingletonHighlighter, bundle_full_exports as t };","import { n as __reExport, t as __exportAll } from \"./chunk-CtajNgzt.mjs\";\nimport { i as bundledLanguagesInfo, n as bundledLanguagesAlias, r as bundledLanguagesBase, t as bundledLanguages } from \"./langs-bundle-full-CQWtMIqW.mjs\";\nimport { bundledThemes, bundledThemesInfo } from \"./themes.mjs\";\nimport { codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getLastGrammarState, getSingletonHighlighter, t as bundle_full_exports } from \"./bundle-full.mjs\";\nimport { createOnigurumaEngine, loadWasm } from \"@shikijs/engine-oniguruma\";\nimport { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from \"@shikijs/engine-javascript\";\n\nexport * from \"@shikijs/core\"\n\n//#region src/index.ts\nvar src_exports = /* @__PURE__ */ __exportAll({\n\tbundledLanguages: () => bundledLanguages,\n\tbundledLanguagesAlias: () => bundledLanguagesAlias,\n\tbundledLanguagesBase: () => bundledLanguagesBase,\n\tbundledLanguagesInfo: () => bundledLanguagesInfo,\n\tbundledThemes: () => bundledThemes,\n\tbundledThemesInfo: () => bundledThemesInfo,\n\tcodeToHast: () => codeToHast,\n\tcodeToHtml: () => codeToHtml,\n\tcodeToTokens: () => codeToTokens,\n\tcodeToTokensBase: () => codeToTokensBase,\n\tcodeToTokensWithThemes: () => codeToTokensWithThemes,\n\tcreateHighlighter: () => createHighlighter,\n\tcreateJavaScriptRegexEngine: () => createJavaScriptRegexEngine,\n\tcreateOnigurumaEngine: () => createOnigurumaEngine,\n\tdefaultJavaScriptRegexConstructor: () => defaultJavaScriptRegexConstructor,\n\tgetLastGrammarState: () => getLastGrammarState,\n\tgetSingletonHighlighter: () => getSingletonHighlighter,\n\tloadWasm: () => loadWasm\n});\n__reExport(src_exports, bundle_full_exports);\n\n//#endregion\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo, bundledThemes, bundledThemesInfo, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, createJavaScriptRegexEngine, createOnigurumaEngine, defaultJavaScriptRegexConstructor, getLastGrammarState, getSingletonHighlighter, loadWasm };"],"names":["bundledLanguagesInfo","n","bundledLanguagesBase","i","bundledLanguagesAlias","a","bundledLanguages","bundledThemesInfo","bundledThemes","ShikiError","message","clone","something","doClone","cloneArray","cloneObj","arr","r","len","obj","key","mergeObjects","target","sources","source","basename","path","idx","CAPTURING_REGEX_SOURCE","RegexSource","regexSource","captureSource","captureIndices","match","index","commandIndex","command","capture","result","strcmp","b","strArrCmp","len1","len2","res","isValidHexColor","hex","escapeRegExpCharacters","value","CachedFn","fn","Theme","_colorMap","_defaults","_root","colorMap","parseTheme","resolveParsedThemeRules","scopeName","scopePath","effectiveRule","v","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","_ScopeStack","parent","scopeNames","name","segments","item","other","base","parentScopes","scopePattern","scopeMustMatch","_matchesScope","fontStyle","foregroundId","backgroundId","settings","resultLen","entry","scopes","_scope","j","lenJ","foreground","background","scope","ParsedThemeRule","FontStyle","FontStyle2","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","ColorMap","defaults","root","ThemeTrieElement","ThemeTrieElementRule","rule","color","emptyParentScopes","_ThemeTrieElementRule","scopeDepth","_ThemeTrieElement","_mainRule","rulesWithParentScopes","_children","aParentIndex","bParentIndex","parentScopeLengthDiff","dotIndex","head","tail","rules","child","EncodedTokenMetadata","_EncodedTokenMetadata","encodedTokenAttributes","languageId","tokenType","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","createMatchers","selector","matchesName","results","tokenizer","newTokenizer","token","priority","matcher","parseConjunction","parseOperand","expressionToNegate","matcherInput","expressionInParents","parseInnerExpression","isIdentifier","identifiers","matchers","matcher2","input","regex","disposeOnigString","str","TopLevelRuleReference","TopLevelRepositoryRuleReference","ruleName","ExternalReferenceCollector","reference","ScopeDependencyProcessor","repo","initialScopeName","q","deps","dep","collectReferencesOfReference","baseGrammarScopeName","selfGrammar","baseGrammar","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","injections","injection","context","collectExternalReferencesInRules","patternRepository","include","parseInclude","newContext","BaseReference","SelfReference","RelativeReference","TopLevelReference","TopLevelRepositoryReference","indexOfSharp","HAS_BACK_REFERENCES","BACK_REFERENCING_END","endRuleId","whileRuleId","Rule","$location","id","contentName","location","lineText","CaptureRule","retokenizeCapturedWithRuleId","grammar","out","endRegexSource","allowA","allowG","MatchRule","captures","RegExpSource","RegExpSourceList","IncludeOnlyRule","patterns","pattern","BeginEndRule","begin","beginCaptures","end","endCaptures","applyEndPatternLast","BeginWhileRule","_while","whileCaptures","RuleFactory","_RuleFactory","helper","desc","repository","maximumCaptureId","captureId","numericCaptureId","ruleId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","externalIncludedRule","skipRule","_RegExpSource","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","ch","onigLib","regExps","e","CompiledRule","string","startPosition","options","BasicScopeAttributes","BasicScopeAttributesProvider","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","ScopeMatcher","standardTokenType","m","values","escapedScopes","TokenizeStringResult","stack","stoppedEarly","_tokenizeString","isFirstLine","linePos","lineTokens","checkWhileConditions","timeLimit","lineLength","STOP","anchorPosition","whileCheckResult","_checkWhileConditions","startTime","scanNext","matchRuleOrInjections","matchedRuleId","hasAdvanced","poppedRule","handleCaptures","popped","_rule","beforePush","nameScopesList","pushedRule","contentNameScopesList","whileRules","node","nodeRule","whileRule","ruleScanner","findOptions","prepareRuleWhileSearch","matchResult","matchRule","injectionResult","matchInjections","matchResultScore","injectionResultScore","prepareRuleSearch","bestMatchRating","bestMatchCaptureIndices","bestMatchRuleId","bestMatchResultPriority","matchRating","lineTextContent","localStack","maxEnd","captureRule","captureIndex","stackClone","onigSubStr","captureRuleScopeName","captureRuleScopesList","LocalStackElement","endPos","createGrammar","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","Grammar","collectInjections","ruleFactoryHelper","nameMatcher","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","_rootScopeName","_onigLib","initGrammar","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","i1","i2","factory","rawIncludedGrammar","prevState","emitBinaryTokens","StateStackImpl","rawDefaultMetadata","defaultStyle","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","onigLineText","LineTokens","_AttributedScopeStack","tokenAttributes","namesScopeList","current","frame","rawRootMetadata","rootStyle","resolvedTokenAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","metadata","self","_StateStackImpl","enterPos","anchorPos","beginRuleCapturedEOL","endRule","el","outIndex","contentNameScopeStack","BalancedBracketSelectors","balancedBracketScopes","unbalancedBracketScopes","excluder","includer","tokenTypeOverrides","endIndex","scopesList","scopes2","SyncRegistry","theme","targetScope","rawGrammar","Registry","configuration","dependencyProcessor","request","INITIAL","resolveColorReplacements","replacements","themeName","applyColorReplacements","toArray","x","normalizeGetter","p","isPlainLang","lang","isSpecialLang","isNoneTheme","isSpecialTheme","splitLines","code","preserveEnding","parts","lines","line","VSCODE_FALLBACK_EDITOR_FG","VSCODE_FALLBACK_EDITOR_BG","RESOLVED_KEY","normalizeTheme","rawTheme","bg","fg","globalSetting","s","replacementCount","replacementMap","getReplacementColor","setting","replaceFg","replaceBg","replacement","resolveLangs","langs","l","resolveThemes","themes","resolveLangAlias","alias","resolved","Registry$1","_resolver","_themes","_langs","_alias","t","_theme","textmateTheme","embeddedLazilyBy","grammarConfig","g","langsGraphArray","missingLangs","_","dependents","embedded","embeddedLang","Resolver","engine","langIdOrAlias","scopeParts","subScopeName","instancesCount","createShikiPrimitive","isDisposed","_registry","_lastTheme","resolveLangAlias$1","getLanguage","ensureNotDisposed","_lang","getTheme","setTheme","getLoadedThemes","getLoadedLanguages","loadLanguageSync","loadLanguage","loadThemeSync","loadTheme","dispose","createShikiPrimitiveAsync","_grammarStateMap","setLastGrammarStateToMap","keys","state","getLastGrammarStateFromMap","GrammarState","args","stacksMap","getScopes","visited","pushScope","getGrammarStack","codeToTokensBase","primitive","_grammar","tokenizeWithTheme","getLastGrammarState","_tokenizeWithTheme","grammarState","colorReplacements","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","actual","final","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","tokensLength","startIndex","nextStartIndex","themeSettingsSelectors","selectors","offset","tokenWithScopes","tokenWithScopesText","explainThemeScopesNameOnly","explainThemeScopesFull","themeSelectors","explainThemeScope","matchesOne","matches","selectorParentIndex","parentIndex","selectorPieces","codeToTokensWithThemes","themedTokens","tokens","alignThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","themeIdx","__","___","styles","mergedGrammarState","outThemes","count","outLines","indexes","minLength","htmlVoidElements","Schema","property","normal","space","merge","definitions","definition","normalize","Info","attribute","powers","boolean","increment","booleanish","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","checks","types","DefinedInfo","mask","mark","check","create","properties","normals","info","aria","caseSensitiveTransform","attributes","caseInsensitiveTransform","html","svg","xlink","xmlns","xml","cap","dash","valid","find","schema","Type","rest","camelcase","dashes","kebab","$0","htmlBase","svgBase","own","zwitch","one","parameters","handlers","defaultSubsetRegex","surrogatePairsRegex","controlCharactersRegex","regexEscapeRegex","subsetToRegexCache","core","charactersToExpressionCached","basic","surrogate","pair","all","character","subset","cached","charactersToExpression","groups","hexadecimalRegex","toHexadecimal","next","omit","decimalRegex","toDecimal","characterEntitiesLegacy","characterEntitiesHtml4","dangerous","characters","notAlphanumericRegex","toNamed","formatSmart","numeric","named","decimal","stringifyEntities","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","comment","_1","_2","encode","doctype","_3","ccount","stringify","re","whitespace","thing","empty","siblingAfter","siblings","siblingBefore","emptyChildren","sibling","includeWhitespace","omission","closing","body","headOrColgroupOrCaption","dd","dt","li","optgroup","option","rubyElement","tbody","cells","tfoot","thead","tr","opening","colgroup","seen","previous","constants","element","selfClosing","last","serializeAttributes","content","serializeAttribute","y","quote","commas","spaces","textEntitySubset","text","raw","handle","invalid","unknown","node_","emptyOptions","emptyCharacterReferences","toHtml","tree","options_","alternative","children","addClassToHast","className","targets","c","createPositionConverter","splitLines$1","indexToPos","posToIndex","guessEmbeddedLanguages","highlighter","fullType","bundle","DEFAULT_COLOR_LIGHT_DARK","COLOR_KEYS","splitToken","offsets","lastOffset","splitTokens","breakpoints","sorted","breakpointsInToken","flatTokenVariants","merged","variantsOrder","cssVariablePrefix","defaultColor","colorsRendering","getTokenStyleObject","styleKeys","mergedStyles","varKey","keyName","cur","lightIndex","darkIndex","ShikiError$1","decorations","stringifyTokenStyle","transformerDecorations","map","getContext","shiki","normalizePosition","converter","d","verifyIntersections","codeEl","ctx","applyLineSection","start","decoration","lineEl","applyDecoration","wrapper","applyLine","type","transform","lineApplies","items","foo","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","builtInTransformers","getTransformers","transformers","sortTransformersByEnforcement","pre","post","transformer","namedColors","findSequence","position","nextEscape","nextClose","parseColor","sequence","colorMode","rgb","parseSequence","commands","codeInt","createAnsiSequenceParser","decorations2","findResult","styleToken","defaultNamedColorsMap","createColorPalette","namedColorsMap","namedColor","rgbColor","colorTable","getColorTable","levels","level","tableColor","defaultAnsiColors","tokenizeAnsiWithTheme","fileContents","colorPalette","parser","bgColor","dimColor","hexMatch","alpha","cssVarMatch","codeToTokensBase$1","codeToTokens","themeTokens","codeToTokensWithThemes$1","themeRegs","themesOrder","themeColorReplacements","mapThemeColors","cssVar","codeToHast","transformerContext","_code","_options","mergeWhitespaces","mergeSameStyleTokens","mergeWhitespaceTokens","splitWhitespaceTokens","mergeAdjacentStyledTokens","contextSource","tokensToHast","structure","tabindex","preNode","codeNode","lineNodes","lineNode","col","tokenNode","style","syntheticLines","currentLine","transformedCode","newLine","carryOnContent","firstOffset","couldMerge","leading","trailing","expanded","prevToken","prevStyle","currentStyle","isPrevDecorated","isDecorated","hastToHtml","codeToHtml","createHighlighterCore","createShikiPrimitiveAsync$1","createBundledHighlighter","createHighlighter","resolveLang","resolveTheme","makeSingletonHighlighter","_shiki","getSingletonHighlighter","createSingletonShorthands","config","get","bundle_full_exports","__exportAll","engine_oniguruma_exports","src_exports","createJavaScriptRegexEngine","createOnigurumaEngine","defaultJavaScriptRegexConstructor","loadWasm","__reExport"],"mappings":"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,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GC3GaC,KAAyB;AAAA,EACpC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]}
|