@aquera/nile-elements 0.0.124 → 0.0.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +6 -0
  2. package/dist/abap-1e9762d1.esm.js +1 -0
  3. package/dist/abap-3b3fe406.cjs.js +2 -0
  4. package/dist/abap-3b3fe406.cjs.js.map +1 -0
  5. package/dist/{angular-ts-a70761c6.cjs.js → angular-ts-32bbcd01.cjs.js} +2 -2
  6. package/dist/{angular-ts-a70761c6.cjs.js.map → angular-ts-32bbcd01.cjs.js.map} +1 -1
  7. package/dist/catppuccin-frappe-c0734345.esm.js +1 -0
  8. package/dist/catppuccin-frappe-eb77e95d.cjs.js +2 -0
  9. package/dist/catppuccin-frappe-eb77e95d.cjs.js.map +1 -0
  10. package/dist/catppuccin-latte-471f76fc.cjs.js +2 -0
  11. package/dist/catppuccin-latte-471f76fc.cjs.js.map +1 -0
  12. package/dist/catppuccin-latte-d798493f.esm.js +1 -0
  13. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js +2 -0
  14. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js.map +1 -0
  15. package/dist/catppuccin-macchiato-d78b2ec2.esm.js +1 -0
  16. package/dist/catppuccin-mocha-3b00f8d6.cjs.js +2 -0
  17. package/dist/catppuccin-mocha-3b00f8d6.cjs.js.map +1 -0
  18. package/dist/catppuccin-mocha-6a189a57.esm.js +1 -0
  19. package/dist/cobol-4ed2b235.esm.js +1 -0
  20. package/dist/cobol-c428fca2.cjs.js +2 -0
  21. package/dist/cobol-c428fca2.cjs.js.map +1 -0
  22. package/dist/{cpp-8812199e.cjs.js → cpp-c2442fe2.cjs.js} +2 -2
  23. package/dist/{cpp-8812199e.cjs.js.map → cpp-c2442fe2.cjs.js.map} +1 -1
  24. package/dist/{crystal-5458e62a.cjs.js → crystal-1913e34d.cjs.js} +2 -2
  25. package/dist/{crystal-5458e62a.cjs.js.map → crystal-1913e34d.cjs.js.map} +1 -1
  26. package/dist/{edge-cb04b11b.cjs.js → edge-ef9e682b.cjs.js} +2 -2
  27. package/dist/{edge-cb04b11b.cjs.js.map → edge-ef9e682b.cjs.js.map} +1 -1
  28. package/dist/{elm-53a0b5b4.cjs.js → elm-7fd07d47.cjs.js} +2 -2
  29. package/dist/{elm-53a0b5b4.cjs.js.map → elm-7fd07d47.cjs.js.map} +1 -1
  30. package/dist/{erb-1bc4721c.cjs.js → erb-c813c1f2.cjs.js} +2 -2
  31. package/dist/{erb-1bc4721c.cjs.js.map → erb-c813c1f2.cjs.js.map} +1 -1
  32. package/dist/{fortran-fixed-form-00a9d08f.cjs.js → fortran-fixed-form-c39bf051.cjs.js} +2 -2
  33. package/dist/{fortran-fixed-form-00a9d08f.cjs.js.map → fortran-fixed-form-c39bf051.cjs.js.map} +1 -1
  34. package/dist/{fsharp-661f4f18.cjs.js → fsharp-ba007c9c.cjs.js} +2 -2
  35. package/dist/{fsharp-661f4f18.cjs.js.map → fsharp-ba007c9c.cjs.js.map} +1 -1
  36. package/dist/{gdresource-8fb6a6ad.cjs.js → gdresource-f3068367.cjs.js} +2 -2
  37. package/dist/{gdresource-8fb6a6ad.cjs.js.map → gdresource-f3068367.cjs.js.map} +1 -1
  38. package/dist/{git-commit-9373b48b.cjs.js → git-commit-372b638c.cjs.js} +2 -2
  39. package/dist/{git-commit-9373b48b.cjs.js.map → git-commit-372b638c.cjs.js.map} +1 -1
  40. package/dist/{git-rebase-c3fa2bb9.cjs.js → git-rebase-2cc6f2a3.cjs.js} +2 -2
  41. package/dist/{git-rebase-c3fa2bb9.cjs.js.map → git-rebase-2cc6f2a3.cjs.js.map} +1 -1
  42. package/dist/go-4c55ae2b.esm.js +1 -0
  43. package/dist/go-9bee484b.cjs.js +2 -0
  44. package/dist/go-9bee484b.cjs.js.map +1 -0
  45. package/dist/{graphql-1541cb3c.cjs.js → graphql-74f146e1.cjs.js} +2 -2
  46. package/dist/{graphql-1541cb3c.cjs.js.map → graphql-74f146e1.cjs.js.map} +1 -1
  47. package/dist/{handlebars-39ab86cd.cjs.js → handlebars-864fcb12.cjs.js} +2 -2
  48. package/dist/{handlebars-39ab86cd.cjs.js.map → handlebars-864fcb12.cjs.js.map} +1 -1
  49. package/dist/{http-1cf9a3de.cjs.js → http-08501497.cjs.js} +2 -2
  50. package/dist/{http-1cf9a3de.cjs.js.map → http-08501497.cjs.js.map} +1 -1
  51. package/dist/{hxml-6d54d760.cjs.js → hxml-bbac80e4.cjs.js} +2 -2
  52. package/dist/{hxml-6d54d760.cjs.js.map → hxml-bbac80e4.cjs.js.map} +1 -1
  53. package/dist/hy-431f15f8.cjs.js +2 -0
  54. package/dist/hy-431f15f8.cjs.js.map +1 -0
  55. package/dist/hy-5e43d6c1.esm.js +1 -0
  56. package/dist/index.cjs.js +1 -1
  57. package/dist/index.esm.js +1 -1
  58. package/dist/{julia-0152d8b9.cjs.js → julia-689ac552.cjs.js} +2 -2
  59. package/dist/{julia-0152d8b9.cjs.js.map → julia-689ac552.cjs.js.map} +1 -1
  60. package/dist/{latex-33ebd2ce.cjs.js → latex-4d76e817.cjs.js} +2 -2
  61. package/dist/{latex-33ebd2ce.cjs.js.map → latex-4d76e817.cjs.js.map} +1 -1
  62. package/dist/luau-0b166b7a.cjs.js +2 -0
  63. package/dist/luau-0b166b7a.cjs.js.map +1 -0
  64. package/dist/luau-7d7eaa97.esm.js +1 -0
  65. package/dist/{marko-23ca6223.cjs.js → marko-2880d4ee.cjs.js} +2 -2
  66. package/dist/{marko-23ca6223.cjs.js.map → marko-2880d4ee.cjs.js.map} +1 -1
  67. package/dist/mdc-13285ad6.esm.js +1 -0
  68. package/dist/mdc-a3fe82c5.cjs.js +2 -0
  69. package/dist/mdc-a3fe82c5.cjs.js.map +1 -0
  70. package/dist/{mdx-01dab0d1.cjs.js → mdx-a859ee84.cjs.js} +2 -2
  71. package/dist/{mdx-01dab0d1.cjs.js.map → mdx-a859ee84.cjs.js.map} +1 -1
  72. package/dist/{mdx-0782bcd8.esm.js → mdx-bf2a8fe9.esm.js} +1 -1
  73. package/dist/nextflow-35e5a63d.esm.js +1 -0
  74. package/dist/nextflow-c666e91b.cjs.js +2 -0
  75. package/dist/nextflow-c666e91b.cjs.js.map +1 -0
  76. package/dist/{nginx-1aabec59.cjs.js → nginx-7bc0fc82.cjs.js} +2 -2
  77. package/dist/{nginx-1aabec59.cjs.js.map → nginx-7bc0fc82.cjs.js.map} +1 -1
  78. package/dist/nile-code-editor/extensionSetup.cjs.js +1 -1
  79. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  80. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  81. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  82. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  83. package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
  84. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  85. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  86. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  87. package/dist/nile-tour/index.cjs.js +2 -0
  88. package/dist/nile-tour/index.cjs.js.map +1 -0
  89. package/dist/nile-tour/index.esm.js +1 -0
  90. package/dist/nile-tour/nile-tour.cjs.js +10 -0
  91. package/dist/nile-tour/nile-tour.cjs.js.map +1 -0
  92. package/dist/nile-tour/nile-tour.css.cjs.js +2 -0
  93. package/dist/nile-tour/nile-tour.css.cjs.js.map +1 -0
  94. package/dist/nile-tour/nile-tour.css.esm.js +93 -0
  95. package/dist/nile-tour/nile-tour.esm.js +15 -0
  96. package/dist/{nim-55b3acf7.cjs.js → nim-1cf0460c.cjs.js} +2 -2
  97. package/dist/{nim-55b3acf7.cjs.js.map → nim-1cf0460c.cjs.js.map} +1 -1
  98. package/dist/one-dark-pro-9477257e.cjs.js +2 -0
  99. package/dist/one-dark-pro-9477257e.cjs.js.map +1 -0
  100. package/dist/one-dark-pro-deb4f5e9.esm.js +1 -0
  101. package/dist/{razor-57f13c4a.cjs.js → razor-0acc551a.cjs.js} +2 -2
  102. package/dist/{razor-57f13c4a.cjs.js.map → razor-0acc551a.cjs.js.map} +1 -1
  103. package/dist/{rst-4226018b.cjs.js → rst-6b792481.cjs.js} +2 -2
  104. package/dist/{rst-4226018b.cjs.js.map → rst-6b792481.cjs.js.map} +1 -1
  105. package/dist/{ruby-4306ddd1.cjs.js → ruby-578b1ee6.cjs.js} +2 -2
  106. package/dist/{ruby-4306ddd1.cjs.js.map → ruby-578b1ee6.cjs.js.map} +1 -1
  107. package/dist/{shaderlab-2234cd06.cjs.js → shaderlab-606f022b.cjs.js} +2 -2
  108. package/dist/{shaderlab-2234cd06.cjs.js.map → shaderlab-606f022b.cjs.js.map} +1 -1
  109. package/dist/{shellsession-cd95727e.cjs.js → shellsession-cb0df007.cjs.js} +2 -2
  110. package/dist/{shellsession-cd95727e.cjs.js.map → shellsession-cb0df007.cjs.js.map} +1 -1
  111. package/dist/{sparql-197a828d.cjs.js → sparql-589e0308.cjs.js} +2 -2
  112. package/dist/{sparql-197a828d.cjs.js.map → sparql-589e0308.cjs.js.map} +1 -1
  113. package/dist/src/index.d.ts +1 -0
  114. package/dist/src/index.js +1 -0
  115. package/dist/src/index.js.map +1 -1
  116. package/dist/src/nile-code-editor/extensionSetup.js +1 -2
  117. package/dist/src/nile-code-editor/extensionSetup.js.map +1 -1
  118. package/dist/src/nile-code-editor/nile-code-editor.d.ts +7 -1
  119. package/dist/src/nile-code-editor/nile-code-editor.js +85 -5
  120. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  121. package/dist/src/nile-tour/index.d.ts +1 -0
  122. package/dist/src/nile-tour/index.js +2 -0
  123. package/dist/src/nile-tour/index.js.map +1 -0
  124. package/dist/src/nile-tour/nile-tour.css.d.ts +12 -0
  125. package/dist/src/nile-tour/nile-tour.css.js +105 -0
  126. package/dist/src/nile-tour/nile-tour.css.js.map +1 -0
  127. package/dist/src/nile-tour/nile-tour.d.ts +47 -0
  128. package/dist/src/nile-tour/nile-tour.js +96 -0
  129. package/dist/src/nile-tour/nile-tour.js.map +1 -0
  130. package/dist/{svelte-5a90df12.cjs.js → svelte-2ae868b6.cjs.js} +2 -2
  131. package/dist/{svelte-5a90df12.cjs.js.map → svelte-2ae868b6.cjs.js.map} +1 -1
  132. package/dist/{svelte-cb8564e6.esm.js → svelte-ac03a3ac.esm.js} +1 -1
  133. package/dist/{system-verilog-c1c6377f.esm.js → system-verilog-2d49210f.esm.js} +1 -1
  134. package/dist/{system-verilog-b3e652eb.cjs.js → system-verilog-7d2d7268.cjs.js} +2 -2
  135. package/dist/{system-verilog-b3e652eb.cjs.js.map → system-verilog-7d2d7268.cjs.js.map} +1 -1
  136. package/dist/{templ-4425132d.cjs.js → templ-2a2d64b7.cjs.js} +2 -2
  137. package/dist/{templ-4425132d.cjs.js.map → templ-2a2d64b7.cjs.js.map} +1 -1
  138. package/dist/{templ-13492ead.esm.js → templ-f2d0dadd.esm.js} +1 -1
  139. package/dist/{tex-d609b400.cjs.js → tex-8addc455.cjs.js} +2 -2
  140. package/dist/{tex-d609b400.cjs.js.map → tex-8addc455.cjs.js.map} +1 -1
  141. package/dist/{ts-tags-ba7eb9e3.cjs.js → ts-tags-e56ee3ee.cjs.js} +2 -2
  142. package/dist/{ts-tags-ba7eb9e3.cjs.js.map → ts-tags-e56ee3ee.cjs.js.map} +1 -1
  143. package/dist/tsconfig.tsbuildinfo +1 -1
  144. package/dist/{twig-e9bb57f2.cjs.js → twig-911808dc.cjs.js} +2 -2
  145. package/dist/{twig-e9bb57f2.cjs.js.map → twig-911808dc.cjs.js.map} +1 -1
  146. package/dist/{vue-16d91bfa.cjs.js → vue-9b06428b.cjs.js} +2 -2
  147. package/dist/{vue-16d91bfa.cjs.js.map → vue-9b06428b.cjs.js.map} +1 -1
  148. package/dist/{vue-html-432cdd7f.cjs.js → vue-html-ca1dd5bf.cjs.js} +2 -2
  149. package/dist/{vue-html-432cdd7f.cjs.js.map → vue-html-ca1dd5bf.cjs.js.map} +1 -1
  150. package/dist/wikitext-b9a7e67b.cjs.js +2 -0
  151. package/dist/wikitext-b9a7e67b.cjs.js.map +1 -0
  152. package/dist/wikitext-c06489b3.esm.js +1 -0
  153. package/package.json +5 -3
  154. package/src/index.ts +2 -1
  155. package/src/nile-code-editor/extensionSetup.ts +0 -2
  156. package/src/nile-code-editor/nile-code-editor.ts +88 -8
  157. package/src/nile-tour/index.ts +1 -0
  158. package/src/nile-tour/nile-tour.css.ts +107 -0
  159. package/src/nile-tour/nile-tour.ts +119 -0
  160. package/vscode-html-custom-data.json +17 -2
  161. package/dist/abap-511af2a5.cjs.js +0 -2
  162. package/dist/abap-511af2a5.cjs.js.map +0 -1
  163. package/dist/abap-f2ab40d0.esm.js +0 -1
  164. package/dist/cairo-014ad724.cjs.js +0 -2
  165. package/dist/cairo-014ad724.cjs.js.map +0 -1
  166. package/dist/cairo-9be40999.esm.js +0 -1
  167. package/dist/catppuccin-frappe-52a52bb1.cjs.js +0 -2
  168. package/dist/catppuccin-frappe-52a52bb1.cjs.js.map +0 -1
  169. package/dist/catppuccin-frappe-dbc3161e.esm.js +0 -1
  170. package/dist/catppuccin-latte-d8a0f6a8.cjs.js +0 -2
  171. package/dist/catppuccin-latte-d8a0f6a8.cjs.js.map +0 -1
  172. package/dist/catppuccin-latte-e7591143.esm.js +0 -1
  173. package/dist/catppuccin-macchiato-19a7795e.cjs.js +0 -2
  174. package/dist/catppuccin-macchiato-19a7795e.cjs.js.map +0 -1
  175. package/dist/catppuccin-macchiato-283b424a.esm.js +0 -1
  176. package/dist/catppuccin-mocha-165e830c.esm.js +0 -1
  177. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js +0 -2
  178. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js.map +0 -1
  179. package/dist/cobol-8517cfc1.esm.js +0 -1
  180. package/dist/cobol-922d57ed.cjs.js +0 -2
  181. package/dist/cobol-922d57ed.cjs.js.map +0 -1
  182. package/dist/go-85139440.esm.js +0 -1
  183. package/dist/go-d5ed1b82.cjs.js +0 -2
  184. package/dist/go-d5ed1b82.cjs.js.map +0 -1
  185. package/dist/hy-33aa9c6f.cjs.js +0 -2
  186. package/dist/hy-33aa9c6f.cjs.js.map +0 -1
  187. package/dist/hy-a7a6e9c3.esm.js +0 -1
  188. package/dist/luau-19444703.cjs.js +0 -2
  189. package/dist/luau-19444703.cjs.js.map +0 -1
  190. package/dist/luau-b564b070.esm.js +0 -1
  191. package/dist/mdc-05d87356.esm.js +0 -1
  192. package/dist/mdc-56aefda2.cjs.js +0 -2
  193. package/dist/mdc-56aefda2.cjs.js.map +0 -1
  194. package/dist/nextflow-11e4899f.esm.js +0 -1
  195. package/dist/nextflow-2a4bf0cc.cjs.js +0 -2
  196. package/dist/nextflow-2a4bf0cc.cjs.js.map +0 -1
  197. package/dist/one-dark-pro-3bcc58f7.cjs.js +0 -2
  198. package/dist/one-dark-pro-3bcc58f7.cjs.js.map +0 -1
  199. package/dist/one-dark-pro-4fce25f8.esm.js +0 -1
  200. package/dist/wikitext-2748811a.cjs.js +0 -2
  201. package/dist/wikitext-2748811a.cjs.js.map +0 -1
  202. package/dist/wikitext-c9071578.esm.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-highlighter.cjs.js","sources":["../../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../../node_modules/@shikijs/vscode-textmate/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/merge.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/normalize.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/types.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/create.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/find.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/core.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/format-smart.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-named.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-decimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/ccount/index.js","../../../../node_modules/@shikijs/core/node_modules/comma-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/space-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-whitespace/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/omission.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/closing.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/element.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/text.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/index.js","../../../../node_modules/@shikijs/core/dist/index.mjs","../../../../node_modules/shiki/dist/bundle-full.mjs","../../../../node_modules/shiki/dist/langs.mjs","../../../../node_modules/shiki/dist/themes.mjs","../../../../node_modules/@shikijs/types/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/html-void-elements/index.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/schema.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xlink.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xml.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xmlns.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/aria.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/html.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/svg.js","../../../../node_modules/@shikijs/core/node_modules/property-information/index.js","../../../../node_modules/@shikijs/core/node_modules/zwitch/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-legacy/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-html4/index.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/constant/dangerous.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/comment.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/opening.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/raw.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/root.js","../../../src/nile-highlighter/nile-highlighter.ts"],"sourcesContent":["class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = 'ShikiError';\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== 'undefined' ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + ((multiple - (x % multiple)) % multiple);\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n }\n catch { }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = '';\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n }\n else {\n u0 = ((u0 & 7) << 18)\n | (u1 << 12)\n | (u2 << 6)\n | (heapOrArray[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n }\n else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : '';\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0,\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg,\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\n/* ---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n *-------------------------------------------------------- */\nlet onigBinding = null;\n// let defaultDebugCall = false\nfunction throwLastOnigError(onigBinding) {\n throw new ShikiError(onigBinding.UTF8ToString(onigBinding.getLastOnigError()));\n}\nclass UtfString {\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codepoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 0x7F)\n result += 1;\n else if (codepoint <= 0x7FF)\n result += 2;\n else if (codepoint <= 0xFFFF)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n utf16Length;\n utf8Length;\n utf16Value;\n utf8Value;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n constructor(str) {\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = (utf8Length !== utf16Length);\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codePoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 0x7F) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n }\n else if (codePoint <= 0x7FF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n }\n else if (codePoint <= 0xFFFF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n }\n else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 0x7F) {\n utf8Value[i8++] = codePoint;\n }\n else if (codePoint <= 0x7FF) {\n utf8Value[i8++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint <= 0xFFFF) {\n utf8Value[i8++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n utf8Value[i8++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n createString(onigBinding) {\n const result = onigBinding.omalloc(this.utf8Length);\n onigBinding.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nclass OnigString {\n static LAST_ID = 0;\n static _sharedPtr = 0; // a pointer to a string of 10000 bytes\n static _sharedPtrInUse = false;\n id = (++OnigString.LAST_ID);\n _onigBinding;\n content;\n utf16Length;\n utf8Length;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n ptr;\n constructor(str) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 10000 && !OnigString._sharedPtrInUse) {\n if (!OnigString._sharedPtr)\n OnigString._sharedPtr = onigBinding.omalloc(10000);\n OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, OnigString._sharedPtr);\n this.ptr = OnigString._sharedPtr;\n }\n else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === OnigString._sharedPtr)\n OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n}\nclass OnigScanner {\n _onigBinding;\n _ptr;\n constructor(patterns) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n // let debugCall = defaultDebugCall\n let options = 0 /* FindOption.None */;\n if (typeof arg === 'number') {\n // if (arg & FindOption.DebugCall)\n // debugCall = true\n options = arg;\n }\n if (typeof string === 'string') {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding = this._onigBinding;\n // let resultPtr: Pointer\n // if (debugCall)\n // resultPtr = onigBinding.findNextOnigScannerMatchDbg(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options)\n // else\n const resultPtr = onigBinding.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n // no match\n return null;\n }\n const HEAPU32 = onigBinding.HEAPU32;\n let offset = resultPtr / 4; // byte offset -> uint32 offset\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg,\n };\n }\n return {\n index,\n captureIndices,\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.instantiator === 'function');\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return (typeof dataOrOptions.default === 'function');\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.data !== 'undefined');\n}\nfunction isResponse(dataOrOptions) {\n return (typeof Response !== 'undefined' && dataOrOptions instanceof Response);\n}\nfunction isArrayBuffer(data) {\n return (typeof ArrayBuffer !== 'undefined' && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)))\n // eslint-disable-next-line node/prefer-global/buffer\n || (typeof Buffer !== 'undefined' && Buffer.isBuffer?.(data))\n || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer)\n || (typeof Uint32Array !== 'undefined' && data instanceof Uint32Array);\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === 'function')\n instance = await instance(info);\n if (typeof instance === 'function')\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n }\n else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n }\n else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === 'function')\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n }\n else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n // import(\"shiki/onig.wasm\") returns `{ default: WebAssembly.Module }` on cloudflare workers\n // https://developers.cloudflare.com/workers/wrangler/bundling/\n else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n else if ('default' in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if ('instance' in instance)\n instance = instance.instance;\n if ('exports' in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return importObject => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return importObject => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n// export function createOnigString(str: string) {\n// return new OnigString(str)\n// }\n// export function createOnigScanner(patterns: string[]) {\n// return new OnigScanner(patterns)\n// }\n// export function setDefaultDebugCall(_defaultDebugCall: boolean): void {\n// defaultDebugCall = _defaultDebugCall\n// }\n\nlet _defaultWasmLoader;\n/**\n * Set the default wasm loader for `loadWasm`.\n * @internal\n */\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\n/**\n * @internal\n */\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns);\n },\n createString(s) {\n return new OnigString(s);\n },\n };\n}\n/**\n * Deprecated. Use `createOnigurumaEngine` instead.\n */\nasync function createWasmOnigEngine(options) {\n return createOnigurumaEngine(options);\n}\n\nexport { createOnigurumaEngine, createWasmOnigEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","// 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 (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 this.cache = /* @__PURE__ */ new Map();\n }\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 this._cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\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 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 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 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 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 constructor() {\n this._references = [];\n this._seenReferenceKeys = /* @__PURE__ */ new Set();\n this.visitedRule = /* @__PURE__ */ new Set();\n }\n get references() {\n return this._references;\n }\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 = /* @__PURE__ */ new Set();\n this.seenPartialScopeRequests = /* @__PURE__ */ new Set();\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\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 constructor() {\n this.kind = 0 /* Base */;\n }\n};\nvar SelfReference = class {\n constructor() {\n this.kind = 1 /* Self */;\n }\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n this.kind = 2 /* RelativeReference */;\n }\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n this.kind = 3 /* TopLevelReference */;\n }\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n this.kind = 4 /* TopLevelRepositoryReference */;\n }\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 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 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 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 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 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 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 constructor(regExpSource, ruleId) {\n if (regExpSource) {\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 this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\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 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 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) {\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 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 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 constructor(initialLanguageId, embeddedLanguages) {\n this._getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\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 /**\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};\n_BasicScopeAttributesProvider._NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\nvar BasicScopeAttributesProvider = _BasicScopeAttributesProvider;\nvar ScopeMatcher = class {\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 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 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._stackElementBrand = void 0;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\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};\n// TODO remove me\n_StateStackImpl.NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n);\nvar StateStackImpl = _StateStackImpl;\nvar BalancedBracketSelectors = class {\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.allowAny = false;\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 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._grammars = /* @__PURE__ */ new Map();\n this._rawGrammars = /* @__PURE__ */ new Map();\n this._injectionGrammars = /* @__PURE__ */ new Map();\n this._theme = theme;\n }\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 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","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\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","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\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 * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\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 * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = 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 prop = '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(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\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","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&amp;`) 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 // * `&#99;` vs `&#x63;` (decimal shorter)\n // * `&#100;` vs `&#x64;` (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","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","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","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 * @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 * 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, 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 ||\n (info.overloadedBoolean && typeof value !== 'string')\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 {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';\nexport * from '@shikijs/types';\nimport { createOnigurumaEngine as createOnigurumaEngine$1, loadWasm as loadWasm$1, getDefaultWasmLoader } from '@shikijs/engine-oniguruma';\nimport { w as warnDeprecated } from './shared/core.afb6276c.mjs';\nexport { e as enableDeprecationWarnings } from './shared/core.afb6276c.mjs';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createJavaScriptRegexEngine as createJavaScriptRegexEngine$1, defaultJavaScriptRegexConstructor as defaultJavaScriptRegexConstructor$1 } from '@shikijs/engine-javascript';\n\nfunction createOnigurumaEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction createWasmOnigEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction loadWasm(options) {\n warnDeprecated(\"import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return loadWasm$1(options);\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n var _a;\n if (!className)\n return node;\n node.properties || (node.properties = {});\n (_a = node.properties).class || (_a.class = []);\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n if (token.fontStyle & FontStyle.Underline)\n styles[\"text-decoration\"] = \"underline\";\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n if (typeof token === \"string\")\n return token;\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$2 = (obj, key, value) => {\n __defNormalProp$2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n constructor(...args) {\n /**\n * Theme to Stack mapping\n */\n __publicField$2(this, \"_stacks\", {});\n __publicField$2(this, \"lang\");\n if (args.length === 2) {\n const [stacksMap, lang] = args;\n this.lang = lang;\n this._stacks = stacksMap;\n } else {\n const [stack, lang, theme] = args;\n this.lang = lang;\n this._stacks = { [theme]: stack };\n }\n }\n get themes() {\n return Object.keys(this._stacks);\n }\n get theme() {\n return this.themes[0];\n }\n get _stack() {\n return this._stacks[this.theme];\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, themes) {\n return new GrammarState(\n Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n lang\n );\n }\n /**\n * Get the internal stack object.\n * @internal\n */\n getInternalStack(theme = this.theme) {\n return this._stacks[theme];\n }\n /**\n * @deprecated use `getScopes` instead\n */\n get scopes() {\n return getScopes(this._stacks[this.theme]);\n }\n getScopes(theme = this.theme) {\n return getScopes(this._stacks[theme]);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n themes: this.themes,\n scopes: this.scopes\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state, theme) {\n if (!(state instanceof GrammarState))\n throw new ShikiError(\"Invalid grammar state\");\n return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError(`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 function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarEnd && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B[\", position);\n if (nextEscape !== -1) {\n const nextClose = value.indexOf(\"m\", nextEscape);\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence, index) {\n let offset = 1;\n const colorMode = sequence[index + offset++];\n let color;\n if (colorMode === \"2\") {\n const rgb = [\n sequence[index + offset++],\n sequence[index + offset++],\n sequence[index + offset]\n ].map((x) => Number.parseInt(x));\n if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n color = {\n type: \"rgb\",\n rgb\n };\n }\n } else if (colorMode === \"5\") {\n const colorIndex = Number.parseInt(sequence[index + offset]);\n if (!Number.isNaN(colorIndex)) {\n color = { type: \"table\", index: Number(colorIndex) };\n }\n }\n return [offset, color];\n}\nfunction parseSequence(sequence) {\n const commands = [];\n for (let i = 0; i < sequence.length; i++) {\n const code = sequence[i];\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (!options.grammarState.themes.includes(theme.name)) {\n throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n if (args.length === 2) {\n return getLastGrammarStateFromMap(args[1]);\n }\n const [internal, code, options = {}] = args;\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n const grammarState = new GrammarState(\n _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n grammar.name,\n theme.name\n );\n setLastGrammarStateToMap(result.tokens, grammarState);\n return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const themedTokens = themes.map((t) => {\n const tokens2 = codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n });\n const state = getLastGrammarStateFromMap(tokens2);\n const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n return {\n tokens: tokens2,\n state,\n theme\n };\n });\n const tokens = syncThemesTokenization(\n ...themedTokens.map((i) => i.tokens)\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n themedTokens[0].state.lang\n ) : void 0;\n if (mergedGrammarState)\n setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n let grammarState;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError$1(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n grammarState = getLastGrammarStateFromMap(themeTokens);\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n if (grammarState)\n setLastGrammarStateToMap(tokens, grammarState);\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n grammarState = getLastGrammarStateFromMap(tokens);\n } else {\n throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = {};\n styles.forEach((cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n mergedStyles[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n mergedStyles[varKey] = value;\n }\n }\n });\n token.htmlStyle = mergedStyles;\n return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource,\n grammarState\n );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n ...tabindex !== false && tabindex != null ? {\n tabindex: tabindex.toString()\n } : {},\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {\n ...token.htmlAttrs\n },\n children: [{ type: \"text\", value: token.content }]\n };\n if (typeof token.htmlStyle === \"string\")\n warnDeprecated(\"`htmlStyle` as a string is deprecated. Use an object instead.\");\n const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n if (grammarState)\n setLastGrammarStateToMap(result, grammarState);\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n const couldMerge = !isUnderline;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\n\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = toHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type || (theme.type = \"dark\");\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings || (theme.settings = []);\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n __publicField$1(this, \"_resolvedThemes\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_resolvedGrammars\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langGraph\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_textmateThemeCache\", /* @__PURE__ */ new WeakMap());\n __publicField$1(this, \"_loadedThemesCache\", null);\n __publicField$1(this, \"_loadedLanguagesCache\", null);\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Resolver {\n constructor(engine, langs) {\n __publicField(this, \"_langs\", /* @__PURE__ */ new Map());\n __publicField(this, \"_scopeToLang\", /* @__PURE__ */ new Map());\n __publicField(this, \"_injections\", /* @__PURE__ */ new Map());\n __publicField(this, \"_onigLib\");\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n 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 let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options = {}) {\n if (options.loadWasm) {\n warnDeprecated(\"`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.\");\n }\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine || createOnigurumaEngine$1(options.loadWasm || getDefaultWasmLoader())\n ]);\n return createShikiInternalSync({\n ...options,\n loadWasm: void 0,\n themes,\n langs,\n engine\n });\n}\nfunction getShikiInternal(options = {}) {\n warnDeprecated(\"`getShikiInternal` is deprecated. Use `createShikiInternal` instead.\");\n return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options = {}) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n warnDeprecated(\"`getHighlighterCore` is deprecated. Use `createHighlighterCore` or `getSingletonHighlighterCore` instead.\");\n return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n let bundledLanguages;\n let bundledThemes;\n let engine;\n if (arg2) {\n warnDeprecated(\"`createdBundledHighlighter` signature with `bundledLanguages` and `bundledThemes` is deprecated. Use the options object signature instead.\");\n bundledLanguages = arg1;\n bundledThemes = arg2;\n engine = () => createOnigurumaEngine(arg3);\n } else {\n const options = arg1;\n bundledLanguages = options.langs;\n bundledThemes = options.themes;\n engine = options.engine;\n }\n async function createHighlighter(options) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: options.engine ?? engine(),\n ...options,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: Object.values(options.themes).filter(Boolean)\n });\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nfunction createJavaScriptRegexEngine(options) {\n warnDeprecated(\"import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return createJavaScriptRegexEngine$1(options);\n}\nfunction defaultJavaScriptRegexConstructor(pattern) {\n warnDeprecated(\"import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return defaultJavaScriptRegexConstructor$1(pattern);\n}\n\nfunction createCssVariablesTheme(options = {}) {\n const {\n name = \"css-variables\",\n variablePrefix = \"--shiki-\",\n fontStyle = true\n } = options;\n const variable = (name2) => {\n if (options.variableDefaults?.[name2])\n return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n return `var(${variablePrefix}${name2})`;\n };\n const theme = {\n name,\n type: \"dark\",\n colors: {\n \"editor.foreground\": variable(\"foreground\"),\n \"editor.background\": variable(\"background\"),\n \"terminal.ansiBlack\": variable(\"ansi-black\"),\n \"terminal.ansiRed\": variable(\"ansi-red\"),\n \"terminal.ansiGreen\": variable(\"ansi-green\"),\n \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n \"terminal.ansiWhite\": variable(\"ansi-white\"),\n \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n },\n tokenColors: [\n {\n scope: [\n \"keyword.operator.accessor\",\n \"meta.group.braces.round.function.arguments\",\n \"meta.template.expression\",\n \"markup.fenced_code meta.embedded.block\"\n ],\n settings: {\n foreground: variable(\"foreground\")\n }\n },\n {\n scope: \"emphasis\",\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n settings: {\n fontStyle: \"bold\"\n }\n },\n {\n scope: [\"markup.italic.markdown\"],\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: \"meta.link.inline.markdown\",\n settings: {\n fontStyle: \"underline\",\n foreground: variable(\"token-link\")\n }\n },\n {\n scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n scope: [\"comment\", \"string.quoted.docstring.multi\"],\n settings: {\n foreground: variable(\"token-comment\")\n }\n },\n {\n scope: [\n \"constant.numeric\",\n \"constant.language\",\n \"constant.other.placeholder\",\n \"constant.character.format.placeholder\",\n \"variable.language.this\",\n \"variable.other.object\",\n \"variable.other.class\",\n \"variable.other.constant\",\n \"meta.property-name\",\n \"meta.property-value\",\n \"support\"\n ],\n settings: {\n foreground: variable(\"token-constant\")\n }\n },\n {\n scope: [\n \"keyword\",\n \"storage.modifier\",\n \"storage.type\",\n \"storage.control.clojure\",\n \"entity.name.function.clojure\",\n \"entity.name.tag.yaml\",\n \"support.function.node\",\n \"support.type.property-name.json\",\n \"punctuation.separator.key-value\",\n \"punctuation.definition.template-expression\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n scope: \"variable.parameter.function\",\n settings: {\n foreground: variable(\"token-parameter\")\n }\n },\n {\n scope: [\n \"support.function\",\n \"entity.name.type\",\n \"entity.other.inherited-class\",\n \"meta.function-call\",\n \"meta.instance.constructor\",\n \"entity.other.attribute-name\",\n \"entity.name.function\",\n \"constant.keyword.clojure\"\n ],\n settings: {\n foreground: variable(\"token-function\")\n }\n },\n {\n scope: [\n \"entity.name.tag\",\n \"string.quoted\",\n \"string.regexp\",\n \"string.interpolated\",\n \"string.template\",\n \"string.unquoted.plain.out.yaml\",\n \"keyword.other.template\"\n ],\n settings: {\n foreground: variable(\"token-string-expression\")\n }\n },\n {\n scope: [\n \"punctuation.definition.arguments\",\n \"punctuation.definition.dict\",\n \"punctuation.separator\",\n \"meta.function-call.arguments\"\n ],\n settings: {\n foreground: variable(\"token-punctuation\")\n }\n },\n {\n // [Custom] Markdown links\n scope: [\n \"markup.underline.link\",\n \"punctuation.definition.metadata.markdown\"\n ],\n settings: {\n foreground: variable(\"token-link\")\n }\n },\n {\n // [Custom] Markdown list\n scope: [\"beginning.punctuation.definition.list.markdown\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n // [Custom] Markdown punctuation definition brackets\n scope: [\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"string.other.link.title.markdown\",\n \"string.other.link.description.markdown\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n // [Custom] Diff\n scope: [\n \"markup.inserted\",\n \"meta.diff.header.to-file\",\n \"punctuation.definition.inserted\"\n ],\n settings: {\n foreground: variable(\"token-inserted\")\n }\n },\n {\n scope: [\n \"markup.deleted\",\n \"meta.diff.header.from-file\",\n \"punctuation.definition.deleted\"\n ],\n settings: {\n foreground: variable(\"token-deleted\")\n }\n },\n {\n scope: [\n \"markup.changed\",\n \"punctuation.definition.changed\"\n ],\n settings: {\n foreground: variable(\"token-changed\")\n }\n }\n ]\n };\n if (!fontStyle) {\n theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n if (tokenColor.settings?.fontStyle)\n delete tokenColor.settings.fontStyle;\n return tokenColor;\n });\n }\n return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createJavaScriptRegexEngine, createOnigurumaEngine, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createWasmOnigEngine, createdBundledHighlighter, defaultJavaScriptRegexConstructor, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, loadWasm, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","import { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nexport { g as getWasmInlined } from './wasm-dynamic-K7LwWlz7.js';\nimport { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from '@shikijs/core';\nexport * from '@shikijs/core';\nimport { createOnigurumaEngine } from '@shikijs/engine-oniguruma';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createOnigurumaEngine(import('shiki/wasm'))\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter\n);\nconst getHighlighter = (options) => {\n warnDeprecated(\"`getHighlighter` is deprecated. Use `createHighlighter` or `getSingletonHighlighter` instead.\");\n return createHighlighter(options);\n};\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getHighlighter, getLastGrammarState, getSingletonHighlighter };\n","const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('./langs/abap.mjs')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('./langs/actionscript-3.mjs')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('./langs/ada.mjs')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('./langs/angular-html.mjs')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('./langs/angular-ts.mjs')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('./langs/apache.mjs')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('./langs/apex.mjs')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('./langs/apl.mjs')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('./langs/applescript.mjs')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('./langs/ara.mjs')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('./langs/asciidoc.mjs')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('./langs/asm.mjs')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('./langs/astro.mjs')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('./langs/awk.mjs')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('./langs/ballerina.mjs')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('./langs/bat.mjs')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('./langs/beancount.mjs')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('./langs/berry.mjs')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('./langs/bibtex.mjs')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('./langs/bicep.mjs')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('./langs/blade.mjs')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('./langs/c.mjs')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('./langs/cadence.mjs')\n },\n {\n \"id\": \"cairo\",\n \"name\": \"Cairo\",\n \"import\": () => import('./langs/cairo.mjs')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('./langs/clarity.mjs')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('./langs/clojure.mjs')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('./langs/cmake.mjs')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('./langs/cobol.mjs')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('./langs/codeowners.mjs')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('./langs/codeql.mjs')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('./langs/coffee.mjs')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('./langs/common-lisp.mjs')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('./langs/coq.mjs')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('./langs/cpp.mjs')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('./langs/crystal.mjs')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('./langs/csharp.mjs')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('./langs/css.mjs')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('./langs/csv.mjs')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('./langs/cue.mjs')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('./langs/cypher.mjs')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('./langs/d.mjs')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('./langs/dart.mjs')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('./langs/dax.mjs')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('./langs/desktop.mjs')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('./langs/diff.mjs')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('./langs/docker.mjs')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('./langs/dotenv.mjs')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('./langs/dream-maker.mjs')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('./langs/edge.mjs')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('./langs/elixir.mjs')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('./langs/elm.mjs')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('./langs/emacs-lisp.mjs')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('./langs/erb.mjs')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('./langs/erlang.mjs')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('./langs/fennel.mjs')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('./langs/fish.mjs')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('./langs/fluent.mjs')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('./langs/fortran-fixed-form.mjs')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('./langs/fortran-free-form.mjs')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('./langs/fsharp.mjs')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('./langs/gdresource.mjs')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('./langs/gdscript.mjs')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('./langs/gdshader.mjs')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('./langs/genie.mjs')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('./langs/gherkin.mjs')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('./langs/git-commit.mjs')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('./langs/git-rebase.mjs')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('./langs/gleam.mjs')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('./langs/glimmer-js.mjs')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('./langs/glimmer-ts.mjs')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('./langs/glsl.mjs')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('./langs/gnuplot.mjs')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('./langs/go.mjs')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('./langs/graphql.mjs')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('./langs/groovy.mjs')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('./langs/hack.mjs')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('./langs/haml.mjs')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('./langs/handlebars.mjs')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('./langs/haskell.mjs')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('./langs/haxe.mjs')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('./langs/hcl.mjs')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('./langs/hjson.mjs')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('./langs/hlsl.mjs')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('./langs/html.mjs')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('./langs/html-derivative.mjs')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('./langs/http.mjs')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('./langs/hxml.mjs')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('./langs/hy.mjs')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('./langs/imba.mjs')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('./langs/ini.mjs')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('./langs/java.mjs')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('./langs/javascript.mjs')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('./langs/jinja.mjs')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('./langs/jison.mjs')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('./langs/json.mjs')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('./langs/json5.mjs')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('./langs/jsonc.mjs')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('./langs/jsonl.mjs')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('./langs/jsonnet.mjs')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('./langs/jssm.mjs')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('./langs/jsx.mjs')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('./langs/julia.mjs')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('./langs/kotlin.mjs')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('./langs/kusto.mjs')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('./langs/latex.mjs')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('./langs/lean.mjs')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('./langs/less.mjs')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('./langs/liquid.mjs')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('./langs/log.mjs')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('./langs/logo.mjs')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('./langs/lua.mjs')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('./langs/luau.mjs')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('./langs/make.mjs')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('./langs/markdown.mjs')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('./langs/marko.mjs')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('./langs/matlab.mjs')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('./langs/mdc.mjs')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('./langs/mdx.mjs')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"aliases\": [\n \"mmd\"\n ],\n \"import\": () => import('./langs/mermaid.mjs')\n },\n {\n \"id\": \"mipsasm\",\n \"name\": \"MIPS Assembly\",\n \"aliases\": [\n \"mips\"\n ],\n \"import\": () => import('./langs/mipsasm.mjs')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('./langs/mojo.mjs')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('./langs/move.mjs')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('./langs/narrat.mjs')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('./langs/nextflow.mjs')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('./langs/nginx.mjs')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('./langs/nim.mjs')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('./langs/nix.mjs')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('./langs/nushell.mjs')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('./langs/objective-c.mjs')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('./langs/objective-cpp.mjs')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('./langs/ocaml.mjs')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('./langs/pascal.mjs')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('./langs/perl.mjs')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('./langs/php.mjs')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('./langs/plsql.mjs')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('./langs/po.mjs')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('./langs/postcss.mjs')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('./langs/powerquery.mjs')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('./langs/powershell.mjs')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('./langs/prisma.mjs')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('./langs/prolog.mjs')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('./langs/proto.mjs')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('./langs/pug.mjs')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('./langs/puppet.mjs')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('./langs/purescript.mjs')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('./langs/python.mjs')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('./langs/qml.mjs')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('./langs/qmldir.mjs')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('./langs/qss.mjs')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('./langs/r.mjs')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('./langs/racket.mjs')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('./langs/raku.mjs')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('./langs/razor.mjs')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('./langs/reg.mjs')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('./langs/regexp.mjs')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('./langs/rel.mjs')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('./langs/riscv.mjs')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('./langs/rst.mjs')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('./langs/ruby.mjs')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('./langs/rust.mjs')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('./langs/sas.mjs')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('./langs/sass.mjs')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('./langs/scala.mjs')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('./langs/scheme.mjs')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('./langs/scss.mjs')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('./langs/shaderlab.mjs')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('./langs/shellscript.mjs')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('./langs/shellsession.mjs')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('./langs/smalltalk.mjs')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('./langs/solidity.mjs')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('./langs/soy.mjs')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('./langs/sparql.mjs')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('./langs/splunk.mjs')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('./langs/sql.mjs')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('./langs/ssh-config.mjs')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('./langs/stata.mjs')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('./langs/stylus.mjs')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('./langs/svelte.mjs')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('./langs/swift.mjs')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('./langs/system-verilog.mjs')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('./langs/systemd.mjs')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('./langs/tasl.mjs')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('./langs/tcl.mjs')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('./langs/templ.mjs')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('./langs/terraform.mjs')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('./langs/tex.mjs')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('./langs/toml.mjs')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('./langs/ts-tags.mjs')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('./langs/tsv.mjs')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('./langs/tsx.mjs')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('./langs/turtle.mjs')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('./langs/twig.mjs')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('./langs/typescript.mjs')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('./langs/typespec.mjs')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('./langs/typst.mjs')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('./langs/v.mjs')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('./langs/vala.mjs')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('./langs/vb.mjs')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('./langs/verilog.mjs')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('./langs/vhdl.mjs')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('./langs/viml.mjs')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('./langs/vue.mjs')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('./langs/vue-html.mjs')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('./langs/vyper.mjs')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('./langs/wasm.mjs')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('./langs/wenyan.mjs')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('./langs/wgsl.mjs')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('./langs/wikitext.mjs')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('./langs/wolfram.mjs')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('./langs/xml.mjs')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('./langs/xsl.mjs')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('./langs/yaml.mjs')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('./langs/zenscript.mjs')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('./langs/zig.mjs')\n }\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 ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n","const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/andromeeda.mjs')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/aurora-x.mjs')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/ayu-dark.mjs')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-frappe.mjs')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('./themes/catppuccin-latte.mjs')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-macchiato.mjs')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-mocha.mjs')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dark-plus.mjs')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula.mjs')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula-soft.mjs')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/everforest-dark.mjs')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/everforest-light.mjs')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark.mjs')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-default.mjs')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-dimmed.mjs')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-high-contrast.mjs')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light.mjs')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-default.mjs')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-high-contrast.mjs')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/houston.mjs')\n },\n {\n \"id\": \"kanagawa-dragon\",\n \"displayName\": \"Kanagawa Dragon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/kanagawa-dragon.mjs')\n },\n {\n \"id\": \"kanagawa-lotus\",\n \"displayName\": \"Kanagawa Lotus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/kanagawa-lotus.mjs')\n },\n {\n \"id\": \"kanagawa-wave\",\n \"displayName\": \"Kanagawa Wave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/kanagawa-wave.mjs')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/laserwave.mjs')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/light-plus.mjs')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme.mjs')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-darker.mjs')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('./themes/material-theme-lighter.mjs')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-ocean.mjs')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-palenight.mjs')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/min-dark.mjs')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/min-light.mjs')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/monokai.mjs')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/night-owl.mjs')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/nord.mjs')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/one-dark-pro.mjs')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/one-light.mjs')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/plastic.mjs')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/poimandres.mjs')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/red.mjs')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine.mjs')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('./themes/rose-pine-dawn.mjs')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine-moon.mjs')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/slack-dark.mjs')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('./themes/slack-ochin.mjs')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/snazzy-light.mjs')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/solarized-dark.mjs')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/solarized-light.mjs')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/synthwave-84.mjs')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/tokyo-night.mjs')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vesper.mjs')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-black.mjs')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-dark.mjs')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/vitesse-light.mjs')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n","/**\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 * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\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})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\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})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\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: boolean,\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})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\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 transform: caseSensitiveTransform,\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})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], '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 * 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","/**\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 {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 {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 {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 * @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 * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, CSSResultArray, TemplateResult, PropertyValueMap } from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-highlighter.css';\nimport NileElement from '../internal/nile-element';\n\nimport { createHighlighter } from 'shiki'\nimport { ShikiTheme, ShikiLanguage } from './theme-list';\n\n\n/**\n * Nile highlighter component.\n *\n * @tag nile-highlighter\n *\n */\n@customElement('nile-highlighter')\nexport class NileHighlighter extends NileElement {\n\n\t@property({ type: String}) code = ``;\n\t\n\t@property({ type: String, reflect:true }) language : ShikiLanguage = 'javascript';\n\n\t@property({ type: String, reflect:true }) theme: ShikiTheme = 'min-light';\n\n\t@state() highlightedCode = '';\n\n\tprivate highlighter:any;\n\t\n\t/**\n\t * The styles for nile-highlighter\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\tprotected async updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tawait this.updateHighlighter()\n\t\t}\n\t\tif (changedProperties.has('code') || changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tawait this.updateHighlightedCode()\n\t\t}\n\t}\n\t/* #region Methods */\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t\t<div class=\"code-container\" .innerHTML=${this.highlightedCode}></div>\n\t\t\t`;\n\t}\n\n\tasync updateHighlighter(){\n\t\tthis.highlighter = await createHighlighter({\n\t\t\tthemes: [this.theme],\n\t\t\tlangs: [this.language],\n\t\t})\n\t}\n\n\tasync updateHighlightedCode(){\n\t\tthis.highlightedCode = await this.highlighter.codeToHtml(this.code, {\n\t\t\tlang: this.language,\n\t\t\ttheme: this.theme,\n\t\t});\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileHighlighter;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-highlighter': NileHighlighter;\n\t}\n}"],"names":["_emscripten_get_now","performance","now","Date","main","async","init","e","n","i","updateGlobalBufferAndViews","emscripten_realloc_buffer","size","UTF8ToString","ptr","maxBytesToRead","heapOrArray","idx","arguments","length","undefined","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","str","u0","String","fromCharCode","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","wasmMemory","grow","byteLength","_unused","buf","Uint8Array","HEAPU32","Uint32Array","TextDecoder","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","Math","min","alignUp","max","fd_write","_context10","next","info","env","wasi_snapshot_preview1","exports","memory","Object","assign","_context9","stop","_callee8","createWasm","_callee9","_f","apply","loadWasm","options","initPromise","instance","instantiator","dataOrOptions","default","isInstantiatorModule","data","isDataOptionsObject","Response","isResponse","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","instantiateStreaming","importObject","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","arrayBuffer","instantiate","_context2","_callee","_x3","_makeResponseNonStreamingLoader","_context3","_callee2","onigBinding","_load","createOnigurumaEngine","createScanner","patterns","OnigScanner","createString","s","OnigString","_context11","_callee10","_x5","doClone","something","Array","isArray","arr","r","len","cloneArray","_typeof","obj","key","cloneObj","mergeObjects","target","_len","sources","_key","forEach","source","basename","path","lastIndexOf","substring","substr","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","test","escapeRegExpCharacters","value","replace","_matchesScope","scopeName","scopePattern","startsWith","createMatchers","selector","matchesName","results","tokenizer","input","regex","match","exec","newTokenizer","token","priority","charAt","console","log","matcher","parseConjunction","push","t","parseOperand","o","expressionToNegate","matcherInput","expressionInParents","matchers","some","matcher2","parseInnerExpression","isIdentifier","identifiers","every","disposeOnigString","dispose","collectReferencesOfReference","reference","baseGrammarScopeName","repo","result","selfGrammar","lookup","Error","baseGrammar","TopLevelRuleReference","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","ruleName","repository","injections","_iterator4","_createForOfIteratorHelper","_step4","done","injection","add","err","f","context","collectExternalReferencesInRules","values","rules","_iterator5","_step5","rule","visitedRule","has","patternRepository","include","parseInclude","kind","_objectSpread","newContext","TopLevelRepositoryRuleReference","BaseReference","SelfReference","indexOfSharp","indexOf","TopLevelReference","RelativeReference","TopLevelRepositoryReference","_tokenizeString","grammar","lineText","isFirstLine","linePos","stack","lineTokens","checkWhileConditions","timeLimit","lineLength","content","STOP","anchorPosition","whileCheckResult","beginRuleCapturedEOL","whileRules","node","pop","nodeRule","getRule","BeginWhileRule","whileRule","_Tt","prepareRuleWhileSearch","endRule","ruleScanner","findOptions","findNextMatchSync","ruleId","whileRuleId","captureIndices","produce","start","handleCaptures","whileCaptures","end","_checkWhileConditions","startTime","TokenizeStringResult","scanNext","matchResult","prepareRuleSearch","matchedRuleId","matchRule","getInjections","injectionResult","bestMatchRuleId","bestMatchRating","Number","MAX_VALUE","bestMatchCaptureIndices","bestMatchResultPriority","scopes","contentNameScopesList","getScopeNames","matchRating","priorityMatch","matchInjections","matchResultScore","injectionResultScore","matchRuleOrInjections","hasAdvanced","endRuleId","poppedRule","withContentNameScopesList","nameScopesList","endCaptures","popped","parent","getAnchorPos","getEnterPos","_rule","beforePush","getName","pushAttributed","BeginEndRule","pushedRule","beginCaptures","contentName","getContentName","endHasBackReferences","withEndRule","getEndWithResolvedBackReferences","hasSameRuleAs","whileHasBackReferences","getWhileWithResolvedBackReferences","captures","safePop","endRegexSource","allowA","allowG","compileAG","compileWhileAG","lineTextContent","localStack","maxEnd","captureRule","captureIndex","endPos","produceFromScopes","retokenizeCapturedWithRuleId","stackClone","onigSubStr","createOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","collectInjections","ruleFactoryHelper","nameMatcher","RuleFactory","getCompiledRuleId","_iterator9","_step9","debugSelector","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","initGrammar","base","$self","$vscodeTextmateLocation","name","$base","merge","definitions","space","property","normal","index","Schema","normalize","toLowerCase","increment","pow","powers","create","definition","prop","properties","own","call","DefinedInfo","transform","attributes","mustUseProperty","includes","attribute","caseSensitiveTransform","caseInsensitiveTransform","kebab","$0","camelcase","toUpperCase","core","subset","cached","subsetToRegexCache","get","groups","regexEscapeRegex","RegExp","join","charactersToExpression","set","charactersToExpressionCached","defaultSubsetRegex","basic","escapeOnly","surrogatePairsRegex","pair","all","format","charCodeAt","controlCharactersRegex","character","formatSmart","code","named","numeric","omit","toString","hexadecimalRegex","toHexadecimal","omitOptionalSemicolons","useNamedReferences","useShortestReferences","characters","characterEntitiesLegacy","dangerous","notAlphanumericRegex","toNamed","decimal","decimalRegex","toDecimal","stringifyEntities","ccount","TypeError","count","stringify","settings","concat","_toConsumableArray","padRight","padLeft","trim","whitespace","thing","type","empty","re","siblings","includeWhitespace","children","emptyChildren","offset","omission","handlers","tagName","headOrColgroupOrCaption","_","siblingAfter","rubyElement","cells","serializeAttribute","state","schema","Type","Info","slice","valid","rest","dash","dashes","cap","find","x","allowParseErrors","y","allowDangerousCharacters","quote","overloadedBoolean","Boolean","isNaN","characterReferences","constants","commaSeparated","commas","spaces","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","unquoted","quoteSmart","alternative","single","text","textEntitySubset","one","handle","this","splitLines","preserveEnding","parts","split","lines","_n34","line","isPlainLang","lang","isSpecialLang","isNoneTheme","theme","isSpecialTheme","addClassToHast","className","_a","class","targets","_iterator19","_step19","c","normalizeGetter","p","Promise","resolve","then","_context12","_callee11","_On","resolveColorReplacements","replacements","colorReplacements","themeName","_i12","_Object$entries","entries","_Object$entries$_i","_slicedToArray","applyColorReplacements","color","getTokenStyleObject","styles","bgColor","fontStyle","FontStyle","Italic","Bold","Underline","stringifyTokenStyle","map","_ref6","_ref7","setLastGrammarStateToMap","keys","_grammarStateMap","getLastGrammarStateFromMap","getScopes","visited","Set","pushScope","stack2","transformerDecorations","_n","WeakMap","getContext","shiki","meta","normalizePosition","ShikiError","converter","indexToPos","JSON","posToIndex","_ref8","_ref9","_iterator20","_step20","createPositionConverter","decorations","d","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","verifyIntersections","tokens","_this$options$decorat","splitted","breakpoints","sorted","from","sort","flatMap","breakpointsInToken","filter","offsets","lastOffset","_iterator21","_step21","splitToken","splitTokens","codeEl","ctx","applyLineSection","decoration","lineEl","startIndex","endIndex","POSITIVE_INFINITY","alwaysWrap","wrapper","applyDecoration","splice","applyLine","el","lineApplies","_iterator22","_loop2","_i14","unshift","_step22","_loop","getTransformers","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_Jn","_Jn3","createColorPalette","defaultNamedColorsMap","namedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","_t$colors","colors","parser","foreground","background","decorations2","parse","findResult","_iterator23","_step23","styleToken","clear","delete","_iterator24","_step24","createAnsiSequenceParser","bg","fg","hexMatch","alpha","round","cssVarMatch","dimColor","None","l","codeToTokensBase","internal","_n$lang","_n$theme","getLoadedThemes","_t$setTheme","setTheme","colorMap","_grammar","getLanguage","grammarState","ShikiError$1","themes","_tokenizeWithTheme","GrammarState","stateStack","tokenizeWithTheme","_ref10","tokenizeMaxLineLength","tokenizeTimeLimit","getInternalStack","getGrammarStack","INITIAL","grammarContextCode","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_iterator25","_step25","setting","selectors","scope","explanation","tokenWithScopes","tokenWithScopesText","explainThemeScopesFull","ruleStack","themeSelectors","themeMatches","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","_iterator26","_step26","_step26$value","_iterator27","_step27","selectorPieces","codeToTokensWithThemes","themedTokens","tokens2","_len4","_key4","outThemes","_loop3","_i21","outLines","i2","indexes","current","minLength","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","variants","themeIdx","_t$e$r","__","___","mergedGrammarState","codeToTokens","rootStyle","_n$defaultColor","defaultColor","_n$cssVariablePrefix","cssVariablePrefix","themeTokens","themeRegs","getTheme","themesOrder","merged","variantsOrder","styleKeys","mergedStyles","cur","_iterator28","_step28","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","transformerContext","_code","_options","_iterator29","_step29","transformer","preprocess","_si","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e46","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator30","_step30","root","_e$structure","structure","_e$tabindex","tabindex","preNode","style","_ref11","_ref12","codeNode","lineNodes","pre","lineNode","col","_iterator31","_step31","tokenNode","htmlAttrs","_iterator33","_step33","span","_iterator32","_step32","_iterator34","_step34","_iterator35","_step35","_iterator36","_step36","tokensToHast","codeToHtml","tree","options_","emptyOptions","omitOptionalTags","tightAttributes","upperDoctype","tightDoctype","bogusComments","tightSelfClosing","allowDangerousHtml","voids","htmlVoidElements","emptyCharacterReferences","closeSelfClosing","closeEmptyElements","svg","html","toHtml","_iterator37","_step37","postprocess","normalizeTheme","rawTheme","RESOLVED_KEY","tokenColors","_t96$settings","_t96$settings2","_e$colors","_e$colors2","globalSetting","VSCODE_FALLBACK_EDITOR_FG","light","dark","VSCODE_FALLBACK_EDITOR_BG","replacementCount","replacementMap","Map","getReplacementColor","_e$colorReplacements","replaceFg","replaceBg","clone","replacement","_i23","_Object$keys2","_e$colors$_t","defineProperty","enumerable","writable","resolveLangs","langs","flat","_context14","t3","t1","t2","abrupt","t0","resolveThemes","_context16","_callee15","_di","createShikiInternal","_context19","engine","createOnigurumaEngine$1","_defaultWasmLoader","instancesCount","warnings","warn","isDisposed","resolver","Resolver","_registry","Registry","langAlias","_lastTheme","ensureNotDisposed","loadLanguageSync","langs2","loadLanguages","loadThemeSync","themes2","_len8","_iterator41","_step41","loadTheme","u","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_context17","sent","_callee16","_loadLanguage","Symbol","createShikiInternalSync","_callee18","createHighlighterCore","getLastGrammarState","_len11","args","_t$","_i$lang","_e$setTheme","options2","getInternalContext","_Si","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","_ref23","resolveLang","resolveTheme","bundle","_themes","_t$themes","_t$langs","_len5","_len6","_x9","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","bundledThemesInfo","displayName","m","message","super","_this","_Error2","_this2","_inherits","_createClass","_wrapNativeSuper","multiple","UtfString","_classCallCheck","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","static","w","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","v","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","createOnigScanner","getLastOnigError","throwLastOnigError","_ptr","freeOnigScanner","string","arg","_findNextMatchSync","debugCall","resultPtr","findNextOnigScannerMatch","beg","CAPTURING_REGEX_SOURCE","RegexSource","M","hasCaptures","regexSource","replaceCaptures","captureSource","commandIndex","command","capture","CachedFn","E","fn","cache","Theme","R","_colorMap","_defaults","_root","_cachedMatchRoot","getDefaults","scopePath","effectiveRule","scopeMustMatch","_scopePathMatchesParentScopes","StyleAttributes","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","ScopeStack","_ScopeStack","getSegments","item","_extends","other","getExtensionIfDefined","scopeNames","_iterator","_step","I","foregroundId","backgroundId","G","FontStyle2","NotSet","Strikethrough","_lastColorId","_id2color","_color2id","_isFrozen","emptyParentScopes","freeze","scopeDepth","_ThemeTrieElementRule","acceptOverwrite","cloneArr","_mainRule","rulesWithParentScopes","_children","_rulesWithParentScopes","head","tail","dotIndex","hasOwnProperty","_ThemeTrieElement","_cmpBySpecificity","_doInsertHere","child","aParentIndex","bParentIndex","parentScopeLengthDiff","toBinaryStr","encodedTokenAttributes","print","languageId","_EncodedTokenMetadata","getLanguageId","tokenType","getTokenType","getBackground","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","X","toKey","K","ExternalReferenceCollector","Y","constructor","_references","_seenReferenceKeys","references","ScopeDependencyProcessor","Q","initialScopeName","seenFullScopeRequests","seenPartialScopeRequests","processQueue","q","deps","_iterator2","_step2","dep","_iterator3","_step3","it","rt","ot","st","lt","HAS_BACK_REFERENCES","BACK_REFERENCING_END","Rule","ht","$location","_name","_nameIsCapturing","_contentName","_contentNameIsCapturing","location","filename","CaptureRule","dt","_this4","_ht","collectPatterns","out","compile","MatchRule","ft","_match","RegExpSource","_cachedCompiledPatterns","_this5","_ht2","debugMatchRegExp","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","_ht3","gt","hasMissingPatterns","_this6","_iterator6","_step6","pattern","_ht4","jt","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this7","debugBeginRegExp","debugEndRegExp","resolveBackReferences","_iterator7","_step7","setSource","yt","_while","_cachedCompiledWhilePatterns","_this8","_ht5","debugWhileRegExp","_iterator8","_step8","compileWhile","_getCachedCompiledWhilePatterns","createCaptureRule","helper","registerRule","desc","_RuleFactory","_compileCaptures","_compilePatterns","maximumCaptureId","captureId","numericCaptureId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","getExternalGrammar","externalIncludedRule","skipRule","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","_anchorCache","_buildAnchorCache","_RegExpSource","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","A0_G0","A0_G1","A1_G0","A1_G1","resolveAnchors","vt","_items","_hasAnchors","_cached","_disposeCaches","onigLib","regExps","CompiledRule","_resolveAnchors","kt","scanner","BasicScopeAttributes","St","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","_getBasicScopeAttributes","_scopeToLanguage","standardTokenType","_toStandardTokenType","_defaultAttributes","_embeddedLanguagesMatcher","ScopeMatcher","getDefaultAttributes","getBasicScopeAttributes","_NULL_SCOPE_METADATA","STANDARD_TOKEN_TYPE_REGEXP","BasicScopeAttributesProvider","Lt","scopesRegExp","escapedScopes","_ref4","_ref5","process","VSCODE_TEXTMATE_DEBUG","At","stoppedEarly","Pt","Grammar","$t","_rootScopeName","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","_onigLib","_basicScopeAttributesProvider","_rootId","_lastRuleId","_ruleId2desc","_includedGrammars","_grammarRepository","_injections","_tokenTypeMatchers","_i9","_Object$keys","_iterator10","_step10","_iterator11","_step11","getMetadataForScope","_collectInjections","_this10","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","injectionSelector","i1","factory","rawIncludedGrammar","prevState","_tokenize","getResult","getBinaryResult","emitBinaryTokens","StateStackImpl","NULL","reset","rawDefaultMetadata","defaultStyle","themeProvider","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","createRootAndLookUpScopeName","createRoot","onigLineText","LineTokens","tokenAttributes","equals","_AttributedScopeStack","_pushAttributed","_iterator12","_step12","self","fromExtension","namesScopeList","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","_StateStackImpl","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","contentNameScopeStack","toStateStackFrame","_this$nameScopesList$","_this$nameScopesList2","_this$parent$nameScop","_this$parent","_this$contentNameScop2","_this$contentNameScop3","_structuralEquals","pushFrame","BalancedBracketSelectors","_t","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesAlways","_iterator14","_step14","excluder","_iterator15","_step15","includer","zt","tokenTypeOverrides","_emitBinaryTokens","_tokenTypeOverrides","_lineText","_tokens","_binaryTokens","_lastTokenEndIndex","scopesList","_t$tokenAttributes","_this$balancedBracket","matchesNever","_t$getScopeNames","scopes2","_iterator16","_step16","_t$getScopeNames2","SyncRegistry","Ft","_grammars","_rawGrammars","_injectionGrammars","_iterator17","_step17","addGrammar","targetScope","grammarForScopeName","rawGrammar","createGrammar","Ht","_syncRegistry","_ensureGrammarCache","loadGrammarWithEmbeddedLanguages","loadGrammarWithConfiguration","configuration","_loadGrammar","unbalancedBracketSelectors","loadGrammar","dependencyProcessor","request","_loadSingleGrammar","_grammarForScopeName","_doLoadSingleGrammar","Vt","prototype","Kt","booleanish","number","spaceSeparated","commaOrSpaceSeparated","defined","boolean","checks","types","ae","mask","check","_assertThisInitialized","_this13","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","label","language","list","loading","loop","low","manifest","maxLength","media","method","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","wrap","writingSuggestions","align","aLink","archive","axis","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","compact","declare","event","face","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","htmlBase","svgBase","characterEntitiesHtml4","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","rang","loz","spades","clubs","hearts","diams","quot","amp","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","siblingBefore","closing","body","caption","colgroup","dd","li","optgroup","option","rp","tbody","td","tfoot","th","thead","tr","opening","previous","seen","_iterator18","_step18","double","invalid","unknown","_len2","parameters","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","Dn","_this14","_Error3","__defProp$2","__publicField$2","configurable","Gn","_len3","_key3","stacksMap","_stacks","toJSON","initial","toArray","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","ji","_resolver","_langs","_alias","_this15","_Ht","_resolvedThemes","_loadedThemesCache","textmateTheme","_textmateThemeCache","resolved","_resolvedGrammars","embeddedLazilyBy","_langMap","embeddedLangsLazy","addLanguage","grammarConfig","alias","_loadedLanguagesCache","_iterator38","_step38","_langGraph","_iterator39","_step39","resolveEmbeddedLanguages","langsGraphArray","missingLangs","_ref13","_ref14","dependents","_ref15","_e$embeddedLangs","_ref16","embeddedLangs","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_i24","_e48","_e48$_i","_i25","_e49","_e49$_i","_iterator40","_step40","embeddedLang","Registry$1","__defProp","__publicField","wi","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","createHighlighter","_export","NileHighlighter","Li","highlightedCode","_this19","_o24","_updated","_callee5","changedProperties","updateHighlighter","updateHighlightedCode","_context6","updated","_x10","render","_templateObject","_taggedTemplateLiteral","_updateHighlighter","_callee6","_callee6$","_context7","prev","highlighter","_updateHighlightedCode","_callee7","_callee7$","_context8","__decorate","NileElement","reflect","customElement"],"mappings":"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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]}
1
+ {"version":3,"file":"nile-highlighter.cjs.js","sources":["../../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../../node_modules/@shikijs/vscode-textmate/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/merge.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/normalize.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/types.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/create.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/find.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/core.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/format-smart.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-named.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-decimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/ccount/index.js","../../../../node_modules/@shikijs/core/node_modules/comma-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/space-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-whitespace/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/omission.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/closing.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/element.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/text.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/index.js","../../../../node_modules/@shikijs/core/dist/index.mjs","../../../../node_modules/shiki/dist/bundle-full.mjs","../../../../node_modules/shiki/dist/langs.mjs","../../../../node_modules/shiki/dist/themes.mjs","../../../../node_modules/@shikijs/types/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/html-void-elements/index.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/schema.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xlink.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xml.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xmlns.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/aria.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/html.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/svg.js","../../../../node_modules/@shikijs/core/node_modules/property-information/index.js","../../../../node_modules/@shikijs/core/node_modules/zwitch/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-legacy/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-html4/index.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/constant/dangerous.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/comment.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/opening.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/raw.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/root.js","../../../src/nile-highlighter/nile-highlighter.ts"],"sourcesContent":["class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = 'ShikiError';\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== 'undefined' ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + ((multiple - (x % multiple)) % multiple);\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n }\n catch { }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = '';\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n }\n else {\n u0 = ((u0 & 7) << 18)\n | (u1 << 12)\n | (u2 << 6)\n | (heapOrArray[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n }\n else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : '';\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0,\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg,\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\n/* ---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n *-------------------------------------------------------- */\nlet onigBinding = null;\n// let defaultDebugCall = false\nfunction throwLastOnigError(onigBinding) {\n throw new ShikiError(onigBinding.UTF8ToString(onigBinding.getLastOnigError()));\n}\nclass UtfString {\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codepoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 0x7F)\n result += 1;\n else if (codepoint <= 0x7FF)\n result += 2;\n else if (codepoint <= 0xFFFF)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n utf16Length;\n utf8Length;\n utf16Value;\n utf8Value;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n constructor(str) {\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = (utf8Length !== utf16Length);\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codePoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 0x7F) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n }\n else if (codePoint <= 0x7FF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n }\n else if (codePoint <= 0xFFFF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n }\n else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 0x7F) {\n utf8Value[i8++] = codePoint;\n }\n else if (codePoint <= 0x7FF) {\n utf8Value[i8++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint <= 0xFFFF) {\n utf8Value[i8++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n utf8Value[i8++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n createString(onigBinding) {\n const result = onigBinding.omalloc(this.utf8Length);\n onigBinding.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nclass OnigString {\n static LAST_ID = 0;\n static _sharedPtr = 0; // a pointer to a string of 10000 bytes\n static _sharedPtrInUse = false;\n id = (++OnigString.LAST_ID);\n _onigBinding;\n content;\n utf16Length;\n utf8Length;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n ptr;\n constructor(str) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 10000 && !OnigString._sharedPtrInUse) {\n if (!OnigString._sharedPtr)\n OnigString._sharedPtr = onigBinding.omalloc(10000);\n OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, OnigString._sharedPtr);\n this.ptr = OnigString._sharedPtr;\n }\n else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === OnigString._sharedPtr)\n OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n}\nclass OnigScanner {\n _onigBinding;\n _ptr;\n constructor(patterns) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n // let debugCall = defaultDebugCall\n let options = 0 /* FindOption.None */;\n if (typeof arg === 'number') {\n // if (arg & FindOption.DebugCall)\n // debugCall = true\n options = arg;\n }\n if (typeof string === 'string') {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding = this._onigBinding;\n // let resultPtr: Pointer\n // if (debugCall)\n // resultPtr = onigBinding.findNextOnigScannerMatchDbg(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options)\n // else\n const resultPtr = onigBinding.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n // no match\n return null;\n }\n const HEAPU32 = onigBinding.HEAPU32;\n let offset = resultPtr / 4; // byte offset -> uint32 offset\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg,\n };\n }\n return {\n index,\n captureIndices,\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.instantiator === 'function');\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return (typeof dataOrOptions.default === 'function');\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.data !== 'undefined');\n}\nfunction isResponse(dataOrOptions) {\n return (typeof Response !== 'undefined' && dataOrOptions instanceof Response);\n}\nfunction isArrayBuffer(data) {\n return (typeof ArrayBuffer !== 'undefined' && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)))\n // eslint-disable-next-line node/prefer-global/buffer\n || (typeof Buffer !== 'undefined' && Buffer.isBuffer?.(data))\n || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer)\n || (typeof Uint32Array !== 'undefined' && data instanceof Uint32Array);\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === 'function')\n instance = await instance(info);\n if (typeof instance === 'function')\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n }\n else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n }\n else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === 'function')\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n }\n else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n // import(\"shiki/onig.wasm\") returns `{ default: WebAssembly.Module }` on cloudflare workers\n // https://developers.cloudflare.com/workers/wrangler/bundling/\n else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n else if ('default' in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if ('instance' in instance)\n instance = instance.instance;\n if ('exports' in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return importObject => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return importObject => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n// export function createOnigString(str: string) {\n// return new OnigString(str)\n// }\n// export function createOnigScanner(patterns: string[]) {\n// return new OnigScanner(patterns)\n// }\n// export function setDefaultDebugCall(_defaultDebugCall: boolean): void {\n// defaultDebugCall = _defaultDebugCall\n// }\n\nlet _defaultWasmLoader;\n/**\n * Set the default wasm loader for `loadWasm`.\n * @internal\n */\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\n/**\n * @internal\n */\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns);\n },\n createString(s) {\n return new OnigString(s);\n },\n };\n}\n/**\n * Deprecated. Use `createOnigurumaEngine` instead.\n */\nasync function createWasmOnigEngine(options) {\n return createOnigurumaEngine(options);\n}\n\nexport { createOnigurumaEngine, createWasmOnigEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","// 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 (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 this.cache = /* @__PURE__ */ new Map();\n }\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 this._cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\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 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 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 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 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 constructor() {\n this._references = [];\n this._seenReferenceKeys = /* @__PURE__ */ new Set();\n this.visitedRule = /* @__PURE__ */ new Set();\n }\n get references() {\n return this._references;\n }\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 = /* @__PURE__ */ new Set();\n this.seenPartialScopeRequests = /* @__PURE__ */ new Set();\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\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 constructor() {\n this.kind = 0 /* Base */;\n }\n};\nvar SelfReference = class {\n constructor() {\n this.kind = 1 /* Self */;\n }\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n this.kind = 2 /* RelativeReference */;\n }\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n this.kind = 3 /* TopLevelReference */;\n }\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n this.kind = 4 /* TopLevelRepositoryReference */;\n }\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 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 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 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 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 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 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 constructor(regExpSource, ruleId) {\n if (regExpSource) {\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 this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\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 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 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) {\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 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 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 constructor(initialLanguageId, embeddedLanguages) {\n this._getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\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 /**\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};\n_BasicScopeAttributesProvider._NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\nvar BasicScopeAttributesProvider = _BasicScopeAttributesProvider;\nvar ScopeMatcher = class {\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 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 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._stackElementBrand = void 0;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\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};\n// TODO remove me\n_StateStackImpl.NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n);\nvar StateStackImpl = _StateStackImpl;\nvar BalancedBracketSelectors = class {\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.allowAny = false;\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 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._grammars = /* @__PURE__ */ new Map();\n this._rawGrammars = /* @__PURE__ */ new Map();\n this._injectionGrammars = /* @__PURE__ */ new Map();\n this._theme = theme;\n }\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 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","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\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","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\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 * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\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 * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = 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 prop = '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(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\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","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&amp;`) 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 // * `&#99;` vs `&#x63;` (decimal shorter)\n // * `&#100;` vs `&#x64;` (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","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","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","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 * @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 * 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, 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 ||\n (info.overloadedBoolean && typeof value !== 'string')\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 {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';\nexport * from '@shikijs/types';\nimport { createOnigurumaEngine as createOnigurumaEngine$1, loadWasm as loadWasm$1, getDefaultWasmLoader } from '@shikijs/engine-oniguruma';\nimport { w as warnDeprecated } from './shared/core.afb6276c.mjs';\nexport { e as enableDeprecationWarnings } from './shared/core.afb6276c.mjs';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createJavaScriptRegexEngine as createJavaScriptRegexEngine$1, defaultJavaScriptRegexConstructor as defaultJavaScriptRegexConstructor$1 } from '@shikijs/engine-javascript';\n\nfunction createOnigurumaEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction createWasmOnigEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction loadWasm(options) {\n warnDeprecated(\"import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return loadWasm$1(options);\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n var _a;\n if (!className)\n return node;\n node.properties || (node.properties = {});\n (_a = node.properties).class || (_a.class = []);\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n if (token.fontStyle & FontStyle.Underline)\n styles[\"text-decoration\"] = \"underline\";\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n if (typeof token === \"string\")\n return token;\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$2 = (obj, key, value) => {\n __defNormalProp$2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n constructor(...args) {\n /**\n * Theme to Stack mapping\n */\n __publicField$2(this, \"_stacks\", {});\n __publicField$2(this, \"lang\");\n if (args.length === 2) {\n const [stacksMap, lang] = args;\n this.lang = lang;\n this._stacks = stacksMap;\n } else {\n const [stack, lang, theme] = args;\n this.lang = lang;\n this._stacks = { [theme]: stack };\n }\n }\n get themes() {\n return Object.keys(this._stacks);\n }\n get theme() {\n return this.themes[0];\n }\n get _stack() {\n return this._stacks[this.theme];\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, themes) {\n return new GrammarState(\n Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n lang\n );\n }\n /**\n * Get the internal stack object.\n * @internal\n */\n getInternalStack(theme = this.theme) {\n return this._stacks[theme];\n }\n /**\n * @deprecated use `getScopes` instead\n */\n get scopes() {\n return getScopes(this._stacks[this.theme]);\n }\n getScopes(theme = this.theme) {\n return getScopes(this._stacks[theme]);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n themes: this.themes,\n scopes: this.scopes\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state, theme) {\n if (!(state instanceof GrammarState))\n throw new ShikiError(\"Invalid grammar state\");\n return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError(`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 function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarEnd && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B[\", position);\n if (nextEscape !== -1) {\n const nextClose = value.indexOf(\"m\", nextEscape);\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence, index) {\n let offset = 1;\n const colorMode = sequence[index + offset++];\n let color;\n if (colorMode === \"2\") {\n const rgb = [\n sequence[index + offset++],\n sequence[index + offset++],\n sequence[index + offset]\n ].map((x) => Number.parseInt(x));\n if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n color = {\n type: \"rgb\",\n rgb\n };\n }\n } else if (colorMode === \"5\") {\n const colorIndex = Number.parseInt(sequence[index + offset]);\n if (!Number.isNaN(colorIndex)) {\n color = { type: \"table\", index: Number(colorIndex) };\n }\n }\n return [offset, color];\n}\nfunction parseSequence(sequence) {\n const commands = [];\n for (let i = 0; i < sequence.length; i++) {\n const code = sequence[i];\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (!options.grammarState.themes.includes(theme.name)) {\n throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n if (args.length === 2) {\n return getLastGrammarStateFromMap(args[1]);\n }\n const [internal, code, options = {}] = args;\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n const grammarState = new GrammarState(\n _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n grammar.name,\n theme.name\n );\n setLastGrammarStateToMap(result.tokens, grammarState);\n return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const themedTokens = themes.map((t) => {\n const tokens2 = codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n });\n const state = getLastGrammarStateFromMap(tokens2);\n const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n return {\n tokens: tokens2,\n state,\n theme\n };\n });\n const tokens = syncThemesTokenization(\n ...themedTokens.map((i) => i.tokens)\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n themedTokens[0].state.lang\n ) : void 0;\n if (mergedGrammarState)\n setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n let grammarState;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError$1(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n grammarState = getLastGrammarStateFromMap(themeTokens);\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n if (grammarState)\n setLastGrammarStateToMap(tokens, grammarState);\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n grammarState = getLastGrammarStateFromMap(tokens);\n } else {\n throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = {};\n styles.forEach((cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n mergedStyles[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n mergedStyles[varKey] = value;\n }\n }\n });\n token.htmlStyle = mergedStyles;\n return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource,\n grammarState\n );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n ...tabindex !== false && tabindex != null ? {\n tabindex: tabindex.toString()\n } : {},\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {\n ...token.htmlAttrs\n },\n children: [{ type: \"text\", value: token.content }]\n };\n if (typeof token.htmlStyle === \"string\")\n warnDeprecated(\"`htmlStyle` as a string is deprecated. Use an object instead.\");\n const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n if (grammarState)\n setLastGrammarStateToMap(result, grammarState);\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n const couldMerge = !isUnderline;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\n\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = toHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type || (theme.type = \"dark\");\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings || (theme.settings = []);\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n __publicField$1(this, \"_resolvedThemes\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_resolvedGrammars\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langGraph\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_textmateThemeCache\", /* @__PURE__ */ new WeakMap());\n __publicField$1(this, \"_loadedThemesCache\", null);\n __publicField$1(this, \"_loadedLanguagesCache\", null);\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Resolver {\n constructor(engine, langs) {\n __publicField(this, \"_langs\", /* @__PURE__ */ new Map());\n __publicField(this, \"_scopeToLang\", /* @__PURE__ */ new Map());\n __publicField(this, \"_injections\", /* @__PURE__ */ new Map());\n __publicField(this, \"_onigLib\");\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n 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 let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options = {}) {\n if (options.loadWasm) {\n warnDeprecated(\"`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.\");\n }\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine || createOnigurumaEngine$1(options.loadWasm || getDefaultWasmLoader())\n ]);\n return createShikiInternalSync({\n ...options,\n loadWasm: void 0,\n themes,\n langs,\n engine\n });\n}\nfunction getShikiInternal(options = {}) {\n warnDeprecated(\"`getShikiInternal` is deprecated. Use `createShikiInternal` instead.\");\n return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options = {}) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n warnDeprecated(\"`getHighlighterCore` is deprecated. Use `createHighlighterCore` or `getSingletonHighlighterCore` instead.\");\n return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n let bundledLanguages;\n let bundledThemes;\n let engine;\n if (arg2) {\n warnDeprecated(\"`createdBundledHighlighter` signature with `bundledLanguages` and `bundledThemes` is deprecated. Use the options object signature instead.\");\n bundledLanguages = arg1;\n bundledThemes = arg2;\n engine = () => createOnigurumaEngine(arg3);\n } else {\n const options = arg1;\n bundledLanguages = options.langs;\n bundledThemes = options.themes;\n engine = options.engine;\n }\n async function createHighlighter(options) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: options.engine ?? engine(),\n ...options,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: Object.values(options.themes).filter(Boolean)\n });\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nfunction createJavaScriptRegexEngine(options) {\n warnDeprecated(\"import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return createJavaScriptRegexEngine$1(options);\n}\nfunction defaultJavaScriptRegexConstructor(pattern) {\n warnDeprecated(\"import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return defaultJavaScriptRegexConstructor$1(pattern);\n}\n\nfunction createCssVariablesTheme(options = {}) {\n const {\n name = \"css-variables\",\n variablePrefix = \"--shiki-\",\n fontStyle = true\n } = options;\n const variable = (name2) => {\n if (options.variableDefaults?.[name2])\n return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n return `var(${variablePrefix}${name2})`;\n };\n const theme = {\n name,\n type: \"dark\",\n colors: {\n \"editor.foreground\": variable(\"foreground\"),\n \"editor.background\": variable(\"background\"),\n \"terminal.ansiBlack\": variable(\"ansi-black\"),\n \"terminal.ansiRed\": variable(\"ansi-red\"),\n \"terminal.ansiGreen\": variable(\"ansi-green\"),\n \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n \"terminal.ansiWhite\": variable(\"ansi-white\"),\n \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n },\n tokenColors: [\n {\n scope: [\n \"keyword.operator.accessor\",\n \"meta.group.braces.round.function.arguments\",\n \"meta.template.expression\",\n \"markup.fenced_code meta.embedded.block\"\n ],\n settings: {\n foreground: variable(\"foreground\")\n }\n },\n {\n scope: \"emphasis\",\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n settings: {\n fontStyle: \"bold\"\n }\n },\n {\n scope: [\"markup.italic.markdown\"],\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: \"meta.link.inline.markdown\",\n settings: {\n fontStyle: \"underline\",\n foreground: variable(\"token-link\")\n }\n },\n {\n scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n scope: [\"comment\", \"string.quoted.docstring.multi\"],\n settings: {\n foreground: variable(\"token-comment\")\n }\n },\n {\n scope: [\n \"constant.numeric\",\n \"constant.language\",\n \"constant.other.placeholder\",\n \"constant.character.format.placeholder\",\n \"variable.language.this\",\n \"variable.other.object\",\n \"variable.other.class\",\n \"variable.other.constant\",\n \"meta.property-name\",\n \"meta.property-value\",\n \"support\"\n ],\n settings: {\n foreground: variable(\"token-constant\")\n }\n },\n {\n scope: [\n \"keyword\",\n \"storage.modifier\",\n \"storage.type\",\n \"storage.control.clojure\",\n \"entity.name.function.clojure\",\n \"entity.name.tag.yaml\",\n \"support.function.node\",\n \"support.type.property-name.json\",\n \"punctuation.separator.key-value\",\n \"punctuation.definition.template-expression\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n scope: \"variable.parameter.function\",\n settings: {\n foreground: variable(\"token-parameter\")\n }\n },\n {\n scope: [\n \"support.function\",\n \"entity.name.type\",\n \"entity.other.inherited-class\",\n \"meta.function-call\",\n \"meta.instance.constructor\",\n \"entity.other.attribute-name\",\n \"entity.name.function\",\n \"constant.keyword.clojure\"\n ],\n settings: {\n foreground: variable(\"token-function\")\n }\n },\n {\n scope: [\n \"entity.name.tag\",\n \"string.quoted\",\n \"string.regexp\",\n \"string.interpolated\",\n \"string.template\",\n \"string.unquoted.plain.out.yaml\",\n \"keyword.other.template\"\n ],\n settings: {\n foreground: variable(\"token-string-expression\")\n }\n },\n {\n scope: [\n \"punctuation.definition.arguments\",\n \"punctuation.definition.dict\",\n \"punctuation.separator\",\n \"meta.function-call.arguments\"\n ],\n settings: {\n foreground: variable(\"token-punctuation\")\n }\n },\n {\n // [Custom] Markdown links\n scope: [\n \"markup.underline.link\",\n \"punctuation.definition.metadata.markdown\"\n ],\n settings: {\n foreground: variable(\"token-link\")\n }\n },\n {\n // [Custom] Markdown list\n scope: [\"beginning.punctuation.definition.list.markdown\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n // [Custom] Markdown punctuation definition brackets\n scope: [\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"string.other.link.title.markdown\",\n \"string.other.link.description.markdown\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n // [Custom] Diff\n scope: [\n \"markup.inserted\",\n \"meta.diff.header.to-file\",\n \"punctuation.definition.inserted\"\n ],\n settings: {\n foreground: variable(\"token-inserted\")\n }\n },\n {\n scope: [\n \"markup.deleted\",\n \"meta.diff.header.from-file\",\n \"punctuation.definition.deleted\"\n ],\n settings: {\n foreground: variable(\"token-deleted\")\n }\n },\n {\n scope: [\n \"markup.changed\",\n \"punctuation.definition.changed\"\n ],\n settings: {\n foreground: variable(\"token-changed\")\n }\n }\n ]\n };\n if (!fontStyle) {\n theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n if (tokenColor.settings?.fontStyle)\n delete tokenColor.settings.fontStyle;\n return tokenColor;\n });\n }\n return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createJavaScriptRegexEngine, createOnigurumaEngine, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createWasmOnigEngine, createdBundledHighlighter, defaultJavaScriptRegexConstructor, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, loadWasm, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","import { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nexport { g as getWasmInlined } from './wasm-dynamic-K7LwWlz7.js';\nimport { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from '@shikijs/core';\nexport * from '@shikijs/core';\nimport { createOnigurumaEngine } from '@shikijs/engine-oniguruma';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createOnigurumaEngine(import('shiki/wasm'))\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter\n);\nconst getHighlighter = (options) => {\n warnDeprecated(\"`getHighlighter` is deprecated. Use `createHighlighter` or `getSingletonHighlighter` instead.\");\n return createHighlighter(options);\n};\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getHighlighter, getLastGrammarState, getSingletonHighlighter };\n","const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('./langs/abap.mjs')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('./langs/actionscript-3.mjs')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('./langs/ada.mjs')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('./langs/angular-html.mjs')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('./langs/angular-ts.mjs')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('./langs/apache.mjs')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('./langs/apex.mjs')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('./langs/apl.mjs')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('./langs/applescript.mjs')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('./langs/ara.mjs')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('./langs/asciidoc.mjs')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('./langs/asm.mjs')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('./langs/astro.mjs')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('./langs/awk.mjs')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('./langs/ballerina.mjs')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('./langs/bat.mjs')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('./langs/beancount.mjs')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('./langs/berry.mjs')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('./langs/bibtex.mjs')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('./langs/bicep.mjs')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('./langs/blade.mjs')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('./langs/c.mjs')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('./langs/cadence.mjs')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('./langs/clarity.mjs')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('./langs/clojure.mjs')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('./langs/cmake.mjs')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('./langs/cobol.mjs')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('./langs/codeowners.mjs')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('./langs/codeql.mjs')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('./langs/coffee.mjs')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('./langs/common-lisp.mjs')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('./langs/coq.mjs')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('./langs/cpp.mjs')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('./langs/crystal.mjs')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('./langs/csharp.mjs')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('./langs/css.mjs')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('./langs/csv.mjs')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('./langs/cue.mjs')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('./langs/cypher.mjs')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('./langs/d.mjs')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('./langs/dart.mjs')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('./langs/dax.mjs')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('./langs/desktop.mjs')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('./langs/diff.mjs')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('./langs/docker.mjs')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('./langs/dotenv.mjs')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('./langs/dream-maker.mjs')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('./langs/edge.mjs')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('./langs/elixir.mjs')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('./langs/elm.mjs')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('./langs/emacs-lisp.mjs')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('./langs/erb.mjs')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('./langs/erlang.mjs')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('./langs/fennel.mjs')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('./langs/fish.mjs')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('./langs/fluent.mjs')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('./langs/fortran-fixed-form.mjs')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('./langs/fortran-free-form.mjs')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('./langs/fsharp.mjs')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('./langs/gdresource.mjs')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('./langs/gdscript.mjs')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('./langs/gdshader.mjs')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('./langs/genie.mjs')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('./langs/gherkin.mjs')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('./langs/git-commit.mjs')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('./langs/git-rebase.mjs')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('./langs/gleam.mjs')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('./langs/glimmer-js.mjs')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('./langs/glimmer-ts.mjs')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('./langs/glsl.mjs')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('./langs/gnuplot.mjs')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('./langs/go.mjs')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('./langs/graphql.mjs')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('./langs/groovy.mjs')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('./langs/hack.mjs')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('./langs/haml.mjs')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('./langs/handlebars.mjs')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('./langs/haskell.mjs')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('./langs/haxe.mjs')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('./langs/hcl.mjs')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('./langs/hjson.mjs')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('./langs/hlsl.mjs')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('./langs/html.mjs')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('./langs/html-derivative.mjs')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('./langs/http.mjs')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('./langs/hxml.mjs')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('./langs/hy.mjs')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('./langs/imba.mjs')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('./langs/ini.mjs')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('./langs/java.mjs')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('./langs/javascript.mjs')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('./langs/jinja.mjs')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('./langs/jison.mjs')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('./langs/json.mjs')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('./langs/json5.mjs')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('./langs/jsonc.mjs')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('./langs/jsonl.mjs')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('./langs/jsonnet.mjs')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('./langs/jssm.mjs')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('./langs/jsx.mjs')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('./langs/julia.mjs')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('./langs/kotlin.mjs')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('./langs/kusto.mjs')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('./langs/latex.mjs')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('./langs/lean.mjs')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('./langs/less.mjs')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('./langs/liquid.mjs')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('./langs/log.mjs')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('./langs/logo.mjs')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('./langs/lua.mjs')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('./langs/luau.mjs')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('./langs/make.mjs')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('./langs/markdown.mjs')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('./langs/marko.mjs')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('./langs/matlab.mjs')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('./langs/mdc.mjs')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('./langs/mdx.mjs')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"aliases\": [\n \"mmd\"\n ],\n \"import\": () => import('./langs/mermaid.mjs')\n },\n {\n \"id\": \"mipsasm\",\n \"name\": \"MIPS Assembly\",\n \"aliases\": [\n \"mips\"\n ],\n \"import\": () => import('./langs/mipsasm.mjs')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('./langs/mojo.mjs')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('./langs/move.mjs')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('./langs/narrat.mjs')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('./langs/nextflow.mjs')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('./langs/nginx.mjs')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('./langs/nim.mjs')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('./langs/nix.mjs')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('./langs/nushell.mjs')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('./langs/objective-c.mjs')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('./langs/objective-cpp.mjs')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('./langs/ocaml.mjs')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('./langs/pascal.mjs')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('./langs/perl.mjs')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('./langs/php.mjs')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('./langs/plsql.mjs')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('./langs/po.mjs')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('./langs/postcss.mjs')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('./langs/powerquery.mjs')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('./langs/powershell.mjs')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('./langs/prisma.mjs')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('./langs/prolog.mjs')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('./langs/proto.mjs')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('./langs/pug.mjs')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('./langs/puppet.mjs')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('./langs/purescript.mjs')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('./langs/python.mjs')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('./langs/qml.mjs')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('./langs/qmldir.mjs')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('./langs/qss.mjs')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('./langs/r.mjs')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('./langs/racket.mjs')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('./langs/raku.mjs')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('./langs/razor.mjs')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('./langs/reg.mjs')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('./langs/regexp.mjs')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('./langs/rel.mjs')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('./langs/riscv.mjs')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('./langs/rst.mjs')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('./langs/ruby.mjs')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('./langs/rust.mjs')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('./langs/sas.mjs')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('./langs/sass.mjs')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('./langs/scala.mjs')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('./langs/scheme.mjs')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('./langs/scss.mjs')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('./langs/shaderlab.mjs')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('./langs/shellscript.mjs')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('./langs/shellsession.mjs')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('./langs/smalltalk.mjs')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('./langs/solidity.mjs')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('./langs/soy.mjs')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('./langs/sparql.mjs')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('./langs/splunk.mjs')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('./langs/sql.mjs')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('./langs/ssh-config.mjs')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('./langs/stata.mjs')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('./langs/stylus.mjs')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('./langs/svelte.mjs')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('./langs/swift.mjs')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('./langs/system-verilog.mjs')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('./langs/systemd.mjs')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('./langs/tasl.mjs')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('./langs/tcl.mjs')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('./langs/templ.mjs')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('./langs/terraform.mjs')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('./langs/tex.mjs')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('./langs/toml.mjs')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('./langs/ts-tags.mjs')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('./langs/tsv.mjs')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('./langs/tsx.mjs')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('./langs/turtle.mjs')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('./langs/twig.mjs')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('./langs/typescript.mjs')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('./langs/typespec.mjs')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('./langs/typst.mjs')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('./langs/v.mjs')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('./langs/vala.mjs')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('./langs/vb.mjs')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('./langs/verilog.mjs')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('./langs/vhdl.mjs')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('./langs/viml.mjs')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('./langs/vue.mjs')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('./langs/vue-html.mjs')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('./langs/vyper.mjs')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('./langs/wasm.mjs')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('./langs/wenyan.mjs')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('./langs/wgsl.mjs')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('./langs/wikitext.mjs')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('./langs/wolfram.mjs')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('./langs/xml.mjs')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('./langs/xsl.mjs')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('./langs/yaml.mjs')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('./langs/zenscript.mjs')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('./langs/zig.mjs')\n }\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 ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n","const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/andromeeda.mjs')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/aurora-x.mjs')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/ayu-dark.mjs')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-frappe.mjs')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('./themes/catppuccin-latte.mjs')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-macchiato.mjs')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-mocha.mjs')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dark-plus.mjs')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula.mjs')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula-soft.mjs')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/everforest-dark.mjs')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/everforest-light.mjs')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark.mjs')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-default.mjs')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-dimmed.mjs')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-high-contrast.mjs')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light.mjs')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-default.mjs')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-high-contrast.mjs')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/houston.mjs')\n },\n {\n \"id\": \"kanagawa-dragon\",\n \"displayName\": \"Kanagawa Dragon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/kanagawa-dragon.mjs')\n },\n {\n \"id\": \"kanagawa-lotus\",\n \"displayName\": \"Kanagawa Lotus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/kanagawa-lotus.mjs')\n },\n {\n \"id\": \"kanagawa-wave\",\n \"displayName\": \"Kanagawa Wave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/kanagawa-wave.mjs')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/laserwave.mjs')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/light-plus.mjs')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme.mjs')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-darker.mjs')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('./themes/material-theme-lighter.mjs')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-ocean.mjs')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-palenight.mjs')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/min-dark.mjs')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/min-light.mjs')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/monokai.mjs')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/night-owl.mjs')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/nord.mjs')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/one-dark-pro.mjs')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/one-light.mjs')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/plastic.mjs')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/poimandres.mjs')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/red.mjs')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine.mjs')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('./themes/rose-pine-dawn.mjs')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine-moon.mjs')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/slack-dark.mjs')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('./themes/slack-ochin.mjs')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/snazzy-light.mjs')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/solarized-dark.mjs')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/solarized-light.mjs')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/synthwave-84.mjs')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/tokyo-night.mjs')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vesper.mjs')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-black.mjs')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-dark.mjs')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/vitesse-light.mjs')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n","/**\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 * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\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})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\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})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\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: boolean,\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})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\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 transform: caseSensitiveTransform,\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})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], '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 * 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","/**\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 {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 {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 {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 * @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 * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, CSSResultArray, TemplateResult, PropertyValueMap } from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-highlighter.css';\nimport NileElement from '../internal/nile-element';\n\nimport { createHighlighter } from 'shiki'\nimport { ShikiTheme, ShikiLanguage } from './theme-list';\n\n\n/**\n * Nile highlighter component.\n *\n * @tag nile-highlighter\n *\n */\n@customElement('nile-highlighter')\nexport class NileHighlighter extends NileElement {\n\n\t@property({ type: String}) code = ``;\n\t\n\t@property({ type: String, reflect:true }) language : ShikiLanguage = 'javascript';\n\n\t@property({ type: String, reflect:true }) theme: ShikiTheme = 'min-light';\n\n\t@state() highlightedCode = '';\n\n\tprivate highlighter:any;\n\t\n\t/**\n\t * The styles for nile-highlighter\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\tprotected async updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tawait this.updateHighlighter()\n\t\t}\n\t\tif (changedProperties.has('code') || changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tawait this.updateHighlightedCode()\n\t\t}\n\t}\n\t/* #region Methods */\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t\t<div class=\"code-container\" .innerHTML=${this.highlightedCode}></div>\n\t\t\t`;\n\t}\n\n\tasync updateHighlighter(){\n\t\tthis.highlighter = await createHighlighter({\n\t\t\tthemes: [this.theme],\n\t\t\tlangs: [this.language],\n\t\t})\n\t}\n\n\tasync updateHighlightedCode(){\n\t\tthis.highlightedCode = await this.highlighter.codeToHtml(this.code, {\n\t\t\tlang: this.language,\n\t\t\ttheme: this.theme,\n\t\t});\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileHighlighter;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-highlighter': NileHighlighter;\n\t}\n}"],"names":["_emscripten_get_now","performance","now","Date","main","async","init","e","n","i","updateGlobalBufferAndViews","emscripten_realloc_buffer","size","UTF8ToString","ptr","maxBytesToRead","heapOrArray","idx","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","str","u0","String","fromCharCode","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","wasmMemory","grow","byteLength","_unused","buf","Uint8Array","HEAPU32","Uint32Array","TextDecoder","undefined","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","length","maxHeapSize","cutDown","overGrownHeapSize","Math","min","alignUp","max","fd_write","_context10","next","info","env","wasi_snapshot_preview1","exports","memory","Object","assign","_context9","stop","_callee8","createWasm","_callee9","_f","apply","arguments","loadWasm","options","initPromise","_regeneratorRuntime","wrap","_callee2$","_context3","prev","instance","instantiator","dataOrOptions","isInstantiatorModule","data","isDataOptionsObject","Response","isResponse","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","instantiateStreaming","importObject","t3","sent","_ref3","_asyncToGenerator","mark","arrayBuffer","instantiate","_context2","_callee","_x3","_makeResponseNonStreamingLoader","default","_callee2","_x2","_ref2","onigBinding","_load","createOnigurumaEngine","createScanner","patterns","OnigScanner","createString","s","OnigString","_context11","_callee10","_x5","doClone","something","Array","isArray","arr","r","len","cloneArray","obj","key","cloneObj","mergeObjects","target","sources","forEach","source","basename","path","lastIndexOf","substring","substr","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","test","escapeRegExpCharacters","value","replace","_matchesScope","scopeName","scopePattern","startsWith","createMatchers","selector","matchesName","results","tokenizer","input","regex","match","exec","newTokenizer","token","priority","charAt","console","log","matcher","parseConjunction","push","t","parseOperand","o","expressionToNegate","matcherInput","expressionInParents","matchers","some","matcher2","parseInnerExpression","isIdentifier","identifiers","every","disposeOnigString","dispose","collectReferencesOfReference","reference","baseGrammarScopeName","repo","result","selfGrammar","lookup","Error","baseGrammar","TopLevelRuleReference","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","ruleName","repository","injections","_iterator4","_createForOfIteratorHelper","_step4","done","injection","add","err","f","context","collectExternalReferencesInRules","values","rules","_iterator5","_step5","rule","visitedRule","has","patternRepository","include","parseInclude","kind","newContext","TopLevelRepositoryRuleReference","BaseReference","SelfReference","indexOfSharp","indexOf","TopLevelReference","RelativeReference","TopLevelRepositoryReference","_tokenizeString","grammar","lineText","isFirstLine","linePos","stack","lineTokens","checkWhileConditions","timeLimit","lineLength","content","STOP","anchorPosition","whileCheckResult","beginRuleCapturedEOL","whileRules","node","pop","nodeRule","getRule","BeginWhileRule","whileRule","_Tt","prepareRuleWhileSearch","endRule","ruleScanner","findOptions","findNextMatchSync","ruleId","whileRuleId","captureIndices","produce","start","handleCaptures","whileCaptures","end","_checkWhileConditions","startTime","TokenizeStringResult","scanNext","matchResult","prepareRuleSearch","matchedRuleId","matchRule","getInjections","injectionResult","bestMatchRuleId","bestMatchRating","Number","MAX_VALUE","bestMatchCaptureIndices","bestMatchResultPriority","scopes","contentNameScopesList","getScopeNames","matchRating","priorityMatch","matchInjections","matchResultScore","injectionResultScore","matchRuleOrInjections","hasAdvanced","endRuleId","poppedRule","withContentNameScopesList","nameScopesList","endCaptures","popped","parent","getAnchorPos","getEnterPos","_rule","beforePush","getName","pushAttributed","BeginEndRule","pushedRule","beginCaptures","contentName","getContentName","endHasBackReferences","withEndRule","getEndWithResolvedBackReferences","hasSameRuleAs","whileHasBackReferences","getWhileWithResolvedBackReferences","captures","safePop","endRegexSource","allowA","allowG","compileAG","compileWhileAG","lineTextContent","localStack","maxEnd","captureRule","captureIndex","endPos","produceFromScopes","retokenizeCapturedWithRuleId","stackClone","onigSubStr","createOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","collectInjections","ruleFactoryHelper","nameMatcher","RuleFactory","getCompiledRuleId","_iterator9","_step9","debugSelector","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","initGrammar","base","$self","$vscodeTextmateLocation","name","$base","merge","definitions","space","property","normal","index","Schema","normalize","toLowerCase","increment","pow","powers","create","definition","prop","properties","own","call","DefinedInfo","transform","attributes","mustUseProperty","includes","attribute","caseSensitiveTransform","caseInsensitiveTransform","kebab","$0","camelcase","toUpperCase","core","subset","cached","subsetToRegexCache","get","groups","regexEscapeRegex","RegExp","join","charactersToExpression","set","charactersToExpressionCached","defaultSubsetRegex","basic","escapeOnly","surrogatePairsRegex","pair","all","format","charCodeAt","controlCharactersRegex","character","formatSmart","code","named","numeric","omit","toString","hexadecimalRegex","toHexadecimal","omitOptionalSemicolons","useNamedReferences","useShortestReferences","characters","characterEntitiesLegacy","dangerous","notAlphanumericRegex","toNamed","decimal","decimalRegex","toDecimal","stringifyEntities","ccount","TypeError","count","stringify","settings","concat","_toConsumableArray","padRight","padLeft","trim","whitespace","thing","type","empty","re","siblings","includeWhitespace","children","emptyChildren","offset","omission","handlers","tagName","headOrColgroupOrCaption","_","siblingAfter","rubyElement","cells","serializeAttribute","state","schema","Type","Info","slice","valid","rest","dash","dashes","cap","find","x","allowParseErrors","y","allowDangerousCharacters","quote","overloadedBoolean","Boolean","isNaN","characterReferences","constants","commaSeparated","commas","spaces","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","unquoted","quoteSmart","alternative","single","text","textEntitySubset","one","handle","this","splitLines","preserveEnding","parts","split","lines","_n34","line","isPlainLang","lang","isSpecialLang","isNoneTheme","theme","isSpecialTheme","addClassToHast","className","_a","class","targets","_iterator19","c","_step19","normalizeGetter","p","_callee11$","_context12","abrupt","Promise","resolve","then","_callee11","_On","resolveColorReplacements","replacements","_objectSpread","colorReplacements","themeName","_i12","_Object$entries","entries","_Object$entries$_i","_slicedToArray","applyColorReplacements","color","getTokenStyleObject","styles","bgColor","fontStyle","FontStyle","Italic","Bold","Underline","stringifyTokenStyle","map","_ref6","_ref7","setLastGrammarStateToMap","keys","_grammarStateMap","getLastGrammarStateFromMap","getScopes","visited","Set","pushScope","stack2","transformerDecorations","WeakMap","getContext","shiki","meta","normalizePosition","ShikiError","converter","indexToPos","JSON","posToIndex","_ref8","_ref9","_iterator20","_step20","createPositionConverter","decorations","d","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","verifyIntersections","tokens","splitted","breakpoints","sorted","from","sort","flatMap","breakpointsInToken","filter","offsets","lastOffset","_iterator21","_step21","splitToken","splitTokens","codeEl","_this$options$decorat2","ctx","applyLineSection","decoration","lineEl","startIndex","endIndex","POSITIVE_INFINITY","alwaysWrap","wrapper","applyDecoration","splice","applyLine","el","_e$properties","lineApplies","_iterator22","_loop2","_i14","unshift","_step22","_loop","getTransformers","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_Jn","_Jn3","createColorPalette","namedColorsMap","defaultNamedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","colors","parser","foreground","background","decorations2","parse","findResult","_iterator23","_step23","styleToken","clear","_iterator24","_step24","createAnsiSequenceParser","bg","fg","hexMatch","alpha","round","cssVarMatch","dimColor","None","codeToTokensBase","internal","_n$lang","getLoadedThemes","_t$setTheme","setTheme","colorMap","_grammar","getLanguage","grammarState","ShikiError$1","themes","_tokenizeWithTheme","GrammarState","stateStack","tokenizeWithTheme","tokenizeMaxLineLength","_r$tokenizeMaxLineLen","_r$tokenizeTimeLimit","tokenizeTimeLimit","getInternalStack","getGrammarStack","INITIAL","grammarContextCode","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_iterator25","_step25","setting","selectors","_typeof","scope","explanation","tokenWithScopes","tokenWithScopesText","explainThemeScopesFull","ruleStack","themeSelectors","themeMatches","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","_iterator26","_step26","_step26$value","_step27","_iterator27","selectorPieces","codeToTokensWithThemes","themedTokens","tokens2","outThemes","_loop3","_i21","outLines","i2","indexes","current","l","minLength","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","variants","themeIdx","_t$e$r","__","___","mergedGrammarState","codeToTokens","rootStyle","_n$defaultColor","defaultColor","cssVariablePrefix","themeTokens","themeRegs","getTheme","themesOrder","merged","variantsOrder","styleKeys","mergedStyles","cur","_iterator28","_step28","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","_options","transformerContext","_code","_iterator29","_step29","transformer","preprocess","_si","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e46","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator30","_step30","root","structure","tabindex","preNode","style","_ref11","_ref12","codeNode","lineNodes","An","pre","lineNode","col","_iterator31","_step31","tokenNode","htmlAttrs","_iterator33","_step33","span","_iterator32","_step32","_iterator34","_step34","_iterator35","_step35","_iterator36","_step36","tokensToHast","codeToHtml","tree","options_","emptyOptions","omitOptionalTags","tightAttributes","upperDoctype","tightDoctype","bogusComments","tightSelfClosing","allowDangerousHtml","voids","htmlVoidElements","emptyCharacterReferences","closeSelfClosing","closeEmptyElements","svg","html","toHtml","_iterator37","_step37","postprocess","normalizeTheme","rawTheme","RESOLVED_KEY","tokenColors","_t96$settings","_t96$settings2","_e$colors","_e$colors2","globalSetting","VSCODE_FALLBACK_EDITOR_FG","light","dark","VSCODE_FALLBACK_EDITOR_BG","replacementCount","replacementMap","Map","getReplacementColor","replaceFg","replaceBg","clone","replacement","_i23","_Object$keys2","_e$colors$_t","defineProperty","enumerable","writable","resolveLangs","langs","_callee13$","_context14","t0","flat","_callee13","resolveThemes","_callee15$","_context16","_di","createShikiInternal","_context19","engine","createOnigurumaEngine$1","_defaultWasmLoader","instancesCount","warnings","warn","isDisposed","resolver","Resolver","_registry","Registry","langAlias","_lastTheme","ensureNotDisposed","loadLanguageSync","langs2","loadLanguages","loadThemeSync","_len8","themes2","_iterator41","_step41","loadTheme","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_context18","t1","_callee17","_loadTheme","m","Symbol","createShikiInternalSync","_callee18","createHighlighterCore","_context20","getLastGrammarState","_len11","args","_len12","_key12","_i$theme","_e$setTheme","options2","getInternalContext","_Si","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","_ref23","resolveLang","resolveTheme","bundle","_themes","_t$themes","_t$langs","_len5","_len6","_x9","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","bundledThemesInfo","displayName","message","super","_this","_Error2","_this2","_inherits","_createClass","_wrapNativeSuper","multiple","UtfString","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","w","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","static","v","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","createOnigScanner","getLastOnigError","throwLastOnigError","_ptr","freeOnigScanner","string","arg","_findNextMatchSync","debugCall","resultPtr","findNextOnigScannerMatch","beg","CAPTURING_REGEX_SOURCE","RegexSource","hasCaptures","regexSource","replaceCaptures","captureSource","commandIndex","command","capture","CachedFn","E","fn","cache","Theme","R","_colorMap","_defaults","_root","_cachedMatchRoot","getDefaults","scopePath","effectiveRule","scopeMustMatch","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","_ScopeStack","getSegments","item","_extends","other","getExtensionIfDefined","scopeNames","_iterator","_step","I","foregroundId","backgroundId","G","FontStyle2","NotSet","Strikethrough","_lastColorId","_id2color","_color2id","_isFrozen","emptyParentScopes","freeze","scopeDepth","_ThemeTrieElementRule","acceptOverwrite","cloneArr","_mainRule","rulesWithParentScopes","_children","_rulesWithParentScopes","head","tail","dotIndex","hasOwnProperty","_ThemeTrieElement","_cmpBySpecificity","_doInsertHere","child","aParentIndex","bParentIndex","parentScopeLengthDiff","_classCallCheck","toBinaryStr","encodedTokenAttributes","print","languageId","_EncodedTokenMetadata","getLanguageId","tokenType","getTokenType","getBackground","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","X","toKey","K","ExternalReferenceCollector","Y","_references","_seenReferenceKeys","ScopeDependencyProcessor","Q","initialScopeName","seenFullScopeRequests","seenPartialScopeRequests","processQueue","q","deps","_iterator2","_step2","dep","_iterator3","references","_step3","it","constructor","rt","ot","st","lt","HAS_BACK_REFERENCES","BACK_REFERENCING_END","Rule","ht","$location","_name","_nameIsCapturing","_contentName","_contentNameIsCapturing","location","filename","CaptureRule","dt","_this4","_ht","collectPatterns","out","compile","MatchRule","ft","_match","RegExpSource","_cachedCompiledPatterns","_this5","_ht2","debugMatchRegExp","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","gt","hasMissingPatterns","_this6","_ht3","_iterator6","_step6","pattern","jt","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this7","_ht4","debugBeginRegExp","debugEndRegExp","resolveBackReferences","_iterator7","_step7","setSource","yt","_while","_cachedCompiledWhilePatterns","_this8","_ht5","_iterator8","_step8","compileWhile","_getCachedCompiledWhilePatterns","createCaptureRule","helper","registerRule","desc","_RuleFactory","_compileCaptures","_compilePatterns","maximumCaptureId","captureId","numericCaptureId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","getExternalGrammar","externalIncludedRule","skipRule","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","_anchorCache","_buildAnchorCache","_RegExpSource","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","A0_G0","A0_G1","A1_G0","A1_G1","resolveAnchors","vt","_items","_hasAnchors","_cached","_disposeCaches","onigLib","regExps","CompiledRule","_resolveAnchors","kt","scanner","BasicScopeAttributes","St","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","_getBasicScopeAttributes","_scopeToLanguage","standardTokenType","_toStandardTokenType","_defaultAttributes","_embeddedLanguagesMatcher","ScopeMatcher","getDefaultAttributes","getBasicScopeAttributes","_NULL_SCOPE_METADATA","STANDARD_TOKEN_TYPE_REGEXP","BasicScopeAttributesProvider","Lt","scopesRegExp","escapedScopes","_ref4","_ref5","process","VSCODE_TEXTMATE_DEBUG","At","stoppedEarly","Pt","Grammar","$t","_rootScopeName","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","_onigLib","_basicScopeAttributesProvider","_rootId","_lastRuleId","_ruleId2desc","_includedGrammars","_grammarRepository","_injections","_tokenTypeMatchers","_i9","_Object$keys","_iterator10","_step10","themeProvider","_iterator11","_step11","getMetadataForScope","_collectInjections","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","injectionSelector","i1","factory","rawIncludedGrammar","prevState","_tokenize","getResult","getBinaryResult","emitBinaryTokens","StateStackImpl","NULL","reset","rawDefaultMetadata","defaultStyle","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","createRootAndLookUpScopeName","createRoot","onigLineText","LineTokens","tokenAttributes","equals","_AttributedScopeStack","_pushAttributed","_iterator12","_step12","self","_n$parent$scopePath","_StateStackImpl","fromExtension","namesScopeList","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","contentNameScopeStack","toStateStackFrame","_this$nameScopesList$","_this$nameScopesList2","_this$parent$nameScop","_this$parent","_this$contentNameScop2","_this$contentNameScop3","_structuralEquals","pushFrame","_e$nameScopesList","_n$enterPos","_n$anchorPos","BalancedBracketSelectors","_t","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesNever","_iterator14","_step14","excluder","_iterator15","_step15","includer","zt","tokenTypeOverrides","_emitBinaryTokens","_tokenTypeOverrides","_lineText","_tokens","_binaryTokens","_lastTokenEndIndex","scopesList","_t$getScopeNames2","_t$tokenAttributes","_this$balancedBracket","matchesAlways","_t$getScopeNames","scopes2","_iterator16","_step16","SyncRegistry","Ft","_grammars","_rawGrammars","_injectionGrammars","_iterator17","_step17","addGrammar","targetScope","grammarForScopeName","rawGrammar","createGrammar","Ht","_syncRegistry","_ensureGrammarCache","loadGrammarWithEmbeddedLanguages","loadGrammarWithConfiguration","configuration","_loadGrammar","unbalancedBracketSelectors","loadGrammar","dependencyProcessor","request","_loadSingleGrammar","_grammarForScopeName","_doLoadSingleGrammar","Vt","prototype","Kt","booleanish","number","spaceSeparated","commaOrSpaceSeparated","defined","boolean","checks","types","ae","mask","check","_assertThisInitialized","_this13","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","label","language","list","loading","loop","low","manifest","maxLength","media","method","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","writingSuggestions","align","aLink","archive","axis","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","compact","declare","event","face","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","htmlBase","svgBase","characterEntitiesHtml4","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","rang","loz","spades","clubs","hearts","diams","quot","amp","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","siblingBefore","closing","body","caption","colgroup","dd","li","optgroup","option","rp","tbody","td","tfoot","th","thead","tr","opening","previous","seen","_iterator18","_step18","double","parameters","invalid","unknown","_len2","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","Dn","_this14","__defProp$2","__publicField$2","configurable","Gn","stacksMap","_stacks","_stack","toJSON","initial","toArray","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","gi","__defNormalProp$1","Registry$1","ji","_resolver","_langs","_this15","_alias","_Ht","_resolvedThemes","_loadedThemesCache","textmateTheme","_textmateThemeCache","resolved","_resolvedGrammars","_this16","embeddedLazilyBy","_langMap","embeddedLangsLazy","addLanguage","grammarConfig","alias","_loadedLanguagesCache","_iterator38","_step38","delete","_this$_syncRegistry","_langGraph","_iterator39","_step39","resolveEmbeddedLanguages","langsGraphArray","missingLangs","_ref13","_ref14","dependents","_ref15","_e$embeddedLangs","_ref16","embeddedLangs","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_i24","_e48","_e48$_i","_i25","_e49","_e49$_i","_iterator40","_step40","embeddedLang","__defProp","__publicField","wi","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","createHighlighter","_export","NileHighlighter","Li","highlightedCode","_this19","_o24","_updated","_callee5","changedProperties","updateHighlighter","updateHighlightedCode","_context6","updated","_x10","render","_templateObject","_taggedTemplateLiteral","_updateHighlighter","_callee6","_callee6$","_context7","highlighter","_updateHighlightedCode","_callee7","_callee7$","_context8","__decorate","NileElement","reflect","customElement"],"mappings":"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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]}