@kitn.ai/ui 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/README.md +1 -1
  2. package/dist/agent-tooling/construct/public.d.ts +15 -0
  3. package/dist/agent-tooling/construct/schema.d.ts +111 -0
  4. package/dist/construct-cli.es.js +3 -3
  5. package/dist/construct.d.ts +5 -0
  6. package/dist/construct.js +327 -0
  7. package/dist/core-C8fzo39E.js +1 -12
  8. package/dist/engine-javascript-C1x7zo1_.js +1 -141
  9. package/dist/mcp.es.js +1 -1
  10. package/package.json +16 -16
  11. package/bin/route.test.js +0 -58
  12. package/src/agent-tooling/README.md +0 -192
  13. package/src/agent-tooling/archetypes.ts +0 -205
  14. package/src/agent-tooling/catalog/README.md +0 -676
  15. package/src/agent-tooling/catalog/catalog-types.ts +0 -231
  16. package/src/agent-tooling/catalog/fabrications.ts +0 -96
  17. package/src/agent-tooling/catalog/invariants.ts +0 -284
  18. package/src/agent-tooling/catalog/labs-titles.ts +0 -114
  19. package/src/agent-tooling/catalog/scenarios.ts +0 -87
  20. package/src/agent-tooling/catalog/surfaces.ts +0 -347
  21. package/src/agent-tooling/construct/cli-entry.ts +0 -8
  22. package/src/agent-tooling/construct/cli.ts +0 -147
  23. package/src/agent-tooling/construct/codegen.ts +0 -1635
  24. package/src/agent-tooling/construct/construct.v1.schema.json +0 -319
  25. package/src/agent-tooling/construct/dev.ts +0 -148
  26. package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +0 -7
  27. package/src/agent-tooling/construct/fixtures/ops-console.construct.json +0 -44
  28. package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +0 -32
  29. package/src/agent-tooling/construct/schema.ts +0 -452
  30. package/src/agent-tooling/integrations/anthropic.ts +0 -442
  31. package/src/agent-tooling/integrations/cloudflare.ts +0 -218
  32. package/src/agent-tooling/integrations/langgraph.ts +0 -133
  33. package/src/agent-tooling/integrations/mastra.ts +0 -182
  34. package/src/agent-tooling/integrations/mock.ts +0 -148
  35. package/src/agent-tooling/integrations/ollama.ts +0 -97
  36. package/src/agent-tooling/integrations/openai.ts +0 -95
  37. package/src/agent-tooling/integrations/openrouter.ts +0 -82
  38. package/src/agent-tooling/integrations/pi.ts +0 -176
  39. package/src/agent-tooling/integrations/pydantic-ai.ts +0 -108
  40. package/src/agent-tooling/integrations/vercel-ai-sdk.ts +0 -398
  41. package/src/agent-tooling/mcp/css-raw.d.ts +0 -12
  42. package/src/agent-tooling/mcp/manifest.ts +0 -422
  43. package/src/agent-tooling/mcp/server.ts +0 -116
  44. package/src/agent-tooling/mcp/stdio.ts +0 -18
  45. package/src/agent-tooling/mcp/tools/construct.ts +0 -130
  46. package/src/agent-tooling/mcp/tools/debug.ts +0 -621
  47. package/src/agent-tooling/mcp/tools/reference.ts +0 -980
  48. package/src/agent-tooling/mcp/tools/scaffold.ts +0 -6708
  49. package/src/agent-tooling/mcp/tools/theme.ts +0 -456
  50. package/src/agent-tooling/mcp/tools/types.ts +0 -14
  51. package/src/agent-tooling/mcp/validate-args.ts +0 -141
  52. package/src/agent-tooling/recipes/composed-thread.ts +0 -714
  53. package/src/agent-tooling/recipes/index.ts +0 -22
  54. package/src/agent-tooling/recipes/types.ts +0 -32
  55. package/src/agent-tooling/registry.ts +0 -132
  56. package/src/agent-tooling/route-emit.ts +0 -305
  57. package/src/agent-tooling/types.ts +0 -390
  58. package/src/components/artifact-card.tsx +0 -120
  59. package/src/components/artifact.tsx +0 -914
  60. package/src/components/attachment-types.ts +0 -66
  61. package/src/components/attachments.tsx +0 -536
  62. package/src/components/audio-visualizer/audio-visualizer.voice-fixture.ts +0 -257
  63. package/src/components/audio-visualizer/aurora.glsl.ts +0 -330
  64. package/src/components/audio-visualizer/fit-scale.ts +0 -112
  65. package/src/components/audio-visualizer/index.tsx +0 -528
  66. package/src/components/audio-visualizer/labs/lab-choreography.ts +0 -187
  67. package/src/components/audio-visualizer/labs/lab-shaders.ts +0 -363
  68. package/src/components/audio-visualizer/labs/lab-visualizer.tsx +0 -102
  69. package/src/components/audio-visualizer/shader-canvas.tsx +0 -876
  70. package/src/components/audio-visualizer/sizes.ts +0 -54
  71. package/src/components/audio-visualizer/variant-aurora.tsx +0 -305
  72. package/src/components/audio-visualizer/variant-bar.tsx +0 -175
  73. package/src/components/audio-visualizer/variant-custom.tsx +0 -344
  74. package/src/components/audio-visualizer/variant-grid.tsx +0 -175
  75. package/src/components/audio-visualizer/variant-radial.tsx +0 -163
  76. package/src/components/audio-visualizer/variant-wave.tsx +0 -130
  77. package/src/components/audio-visualizer/wave.glsl.ts +0 -130
  78. package/src/components/card-fallback.tsx +0 -60
  79. package/src/components/card-renderer.tsx +0 -220
  80. package/src/components/card.tsx +0 -212
  81. package/src/components/chain-of-thought.tsx +0 -348
  82. package/src/components/chat-container.tsx +0 -89
  83. package/src/components/chat-scope-picker.tsx +0 -57
  84. package/src/components/chat-thread.tsx +0 -1014
  85. package/src/components/checkpoint.tsx +0 -88
  86. package/src/components/choice-card.tsx +0 -743
  87. package/src/components/coachmark.tsx +0 -249
  88. package/src/components/code-block.tsx +0 -181
  89. package/src/components/composer-dom.ts +0 -159
  90. package/src/components/composer-highlight.ts +0 -242
  91. package/src/components/composer-history.ts +0 -82
  92. package/src/components/composer.tsx +0 -1075
  93. package/src/components/confirm-card.tsx +0 -402
  94. package/src/components/context.tsx +0 -377
  95. package/src/components/conversation-item.tsx +0 -241
  96. package/src/components/conversation-list.tsx +0 -429
  97. package/src/components/conversation-panel.tsx +0 -118
  98. package/src/components/dismissed-stub.tsx +0 -80
  99. package/src/components/embed.tsx +0 -200
  100. package/src/components/empty.tsx +0 -177
  101. package/src/components/feedback-bar.tsx +0 -166
  102. package/src/components/file-tree.tsx +0 -530
  103. package/src/components/file-upload.tsx +0 -167
  104. package/src/components/form-widgets.tsx +0 -525
  105. package/src/components/form.tsx +0 -1296
  106. package/src/components/home-panel.tsx +0 -159
  107. package/src/components/image.tsx +0 -65
  108. package/src/components/link-preview.tsx +0 -195
  109. package/src/components/loader.tsx +0 -367
  110. package/src/components/markdown.tsx +0 -162
  111. package/src/components/message-skills.tsx +0 -40
  112. package/src/components/message.tsx +0 -765
  113. package/src/components/model-switcher.tsx +0 -132
  114. package/src/components/prompt-input.tsx +0 -188
  115. package/src/components/prompt-suggestion.tsx +0 -150
  116. package/src/components/reasoning.tsx +0 -293
  117. package/src/components/response-compare-types.ts +0 -152
  118. package/src/components/response-compare.tsx +0 -455
  119. package/src/components/response-stream.tsx +0 -109
  120. package/src/components/screen.tsx +0 -181
  121. package/src/components/scroll-button.tsx +0 -93
  122. package/src/components/source.tsx +0 -192
  123. package/src/components/tasks-card.tsx +0 -801
  124. package/src/components/text-shimmer.tsx +0 -37
  125. package/src/components/thinking-bar.tsx +0 -50
  126. package/src/components/thread.tsx +0 -228
  127. package/src/components/toast.tsx +0 -503
  128. package/src/components/tool-classify.ts +0 -26
  129. package/src/components/tool-types.ts +0 -49
  130. package/src/components/tool.tsx +0 -190
  131. package/src/components/use-card-resolution.ts +0 -44
  132. package/src/components/voice-input.tsx +0 -222
  133. package/src/components/voice-output.tsx +0 -242
  134. package/src/components/widget-tab-bar.tsx +0 -73
  135. package/src/components/workspace-shell.tsx +0 -285
  136. package/src/diagnostics/hook.ts +0 -352
  137. package/src/diagnostics/index.ts +0 -82
  138. package/src/diagnostics/report-request.ts +0 -296
  139. package/src/elements/agent-card.tsx +0 -67
  140. package/src/elements/artifact.tsx +0 -194
  141. package/src/elements/attachments.tsx +0 -140
  142. package/src/elements/audio-visualizer.tsx +0 -227
  143. package/src/elements/autoloader.ts +0 -89
  144. package/src/elements/avatar.tsx +0 -33
  145. package/src/elements/badge.tsx +0 -32
  146. package/src/elements/button.tsx +0 -149
  147. package/src/elements/card.tsx +0 -133
  148. package/src/elements/cards.tsx +0 -266
  149. package/src/elements/chain-of-thought.tsx +0 -141
  150. package/src/elements/chat-scope-picker.tsx +0 -65
  151. package/src/elements/chat-types.ts +0 -102
  152. package/src/elements/chat-workspace.tsx +0 -188
  153. package/src/elements/chat.tsx +0 -304
  154. package/src/elements/checkbox-group.tsx +0 -164
  155. package/src/elements/checkbox.tsx +0 -134
  156. package/src/elements/checkpoint.tsx +0 -47
  157. package/src/elements/choice.tsx +0 -100
  158. package/src/elements/coachmark.tsx +0 -90
  159. package/src/elements/code-block.tsx +0 -60
  160. package/src/elements/command.tsx +0 -197
  161. package/src/elements/compare.tsx +0 -111
  162. package/src/elements/compiled.css +0 -2
  163. package/src/elements/composer.tsx +0 -162
  164. package/src/elements/confirm-card.tsx +0 -76
  165. package/src/elements/context-meter.tsx +0 -107
  166. package/src/elements/conversation-item.tsx +0 -120
  167. package/src/elements/conversation-list.tsx +0 -203
  168. package/src/elements/css.ts +0 -5
  169. package/src/elements/default-input.tsx +0 -392
  170. package/src/elements/define-entry.ts +0 -12
  171. package/src/elements/define.tsx +0 -563
  172. package/src/elements/diagnostic-events.ts +0 -114
  173. package/src/elements/dialog.tsx +0 -145
  174. package/src/elements/disclosure.ts +0 -95
  175. package/src/elements/dock.tsx +0 -215
  176. package/src/elements/dropdown.tsx +0 -123
  177. package/src/elements/editable-label.tsx +0 -140
  178. package/src/elements/element-data-types.ts +0 -152
  179. package/src/elements/element-diagnostics.ts +0 -392
  180. package/src/elements/element-manifest.json +0 -354
  181. package/src/elements/element-nonscalar.json +0 -187
  182. package/src/elements/element-types.d.ts +0 -4353
  183. package/src/elements/embed.tsx +0 -35
  184. package/src/elements/empty.tsx +0 -29
  185. package/src/elements/feedback-bar.tsx +0 -66
  186. package/src/elements/file-tree.tsx +0 -62
  187. package/src/elements/file-upload.tsx +0 -44
  188. package/src/elements/form.tsx +0 -94
  189. package/src/elements/hover-card.tsx +0 -80
  190. package/src/elements/icon.tsx +0 -41
  191. package/src/elements/image.tsx +0 -32
  192. package/src/elements/input.tsx +0 -492
  193. package/src/elements/kbd.tsx +0 -45
  194. package/src/elements/link-preview.tsx +0 -34
  195. package/src/elements/loader.tsx +0 -25
  196. package/src/elements/markdown.tsx +0 -38
  197. package/src/elements/menu.tsx +0 -241
  198. package/src/elements/message-skills.tsx +0 -83
  199. package/src/elements/message.tsx +0 -361
  200. package/src/elements/model-switcher.tsx +0 -121
  201. package/src/elements/nav.tsx +0 -87
  202. package/src/elements/notice.tsx +0 -53
  203. package/src/elements/pane-grid.tsx +0 -111
  204. package/src/elements/pane-group.tsx +0 -119
  205. package/src/elements/pane.tsx +0 -129
  206. package/src/elements/popover.tsx +0 -81
  207. package/src/elements/progress-bar.tsx +0 -39
  208. package/src/elements/prompt-dock.tsx +0 -82
  209. package/src/elements/prompt-input.tsx +0 -240
  210. package/src/elements/prompt-suggestions.tsx +0 -113
  211. package/src/elements/radio-group.tsx +0 -129
  212. package/src/elements/reasoning.tsx +0 -71
  213. package/src/elements/register-impl.ts +0 -148
  214. package/src/elements/register.ts +0 -76
  215. package/src/elements/remote.tsx +0 -225
  216. package/src/elements/resizable.globals.d.ts +0 -36
  217. package/src/elements/resizable.tsx +0 -704
  218. package/src/elements/response-stream.tsx +0 -40
  219. package/src/elements/screen.tsx +0 -90
  220. package/src/elements/scroll-area.tsx +0 -33
  221. package/src/elements/scroll-button.tsx +0 -179
  222. package/src/elements/search.tsx +0 -185
  223. package/src/elements/segmented.tsx +0 -129
  224. package/src/elements/select.tsx +0 -165
  225. package/src/elements/separator.tsx +0 -36
  226. package/src/elements/setting-item.tsx +0 -50
  227. package/src/elements/settings-group.tsx +0 -37
  228. package/src/elements/skeleton.tsx +0 -45
  229. package/src/elements/slider.tsx +0 -171
  230. package/src/elements/slot-text.ts +0 -73
  231. package/src/elements/slots.ts +0 -787
  232. package/src/elements/source.tsx +0 -126
  233. package/src/elements/status.tsx +0 -42
  234. package/src/elements/styles.css +0 -328
  235. package/src/elements/switch.tsx +0 -118
  236. package/src/elements/tabs.tsx +0 -95
  237. package/src/elements/tasks.tsx +0 -103
  238. package/src/elements/text-shimmer.tsx +0 -28
  239. package/src/elements/thinking-bar.tsx +0 -43
  240. package/src/elements/thread.tsx +0 -139
  241. package/src/elements/toast.tsx +0 -106
  242. package/src/elements/tool.tsx +0 -78
  243. package/src/elements/tooltip.tsx +0 -85
  244. package/src/elements/validate-messages.ts +0 -76
  245. package/src/elements/voice-input.tsx +0 -100
  246. package/src/elements/voice-output.tsx +0 -82
  247. package/src/index.ts +0 -430
  248. package/src/primitives/audio-bands.ts +0 -174
  249. package/src/primitives/card-component-types.ts +0 -63
  250. package/src/primitives/card-contract.ts +0 -80
  251. package/src/primitives/card-data-types.ts +0 -361
  252. package/src/primitives/card-host.tsx +0 -37
  253. package/src/primitives/card-recovery.ts +0 -160
  254. package/src/primitives/card-registry.tsx +0 -78
  255. package/src/primitives/card-resolution.ts +0 -36
  256. package/src/primitives/card-routing.ts +0 -85
  257. package/src/primitives/card-schemas/artifact.schema.json +0 -92
  258. package/src/primitives/card-schemas/card-envelope.schema.json +0 -14
  259. package/src/primitives/card-schemas/card-event.schema.json +0 -12
  260. package/src/primitives/card-schemas/choice.schema.json +0 -75
  261. package/src/primitives/card-schemas/confirm.schema.json +0 -65
  262. package/src/primitives/card-schemas/embed.schema.json +0 -63
  263. package/src/primitives/card-schemas/form.result.schema.json +0 -7
  264. package/src/primitives/card-schemas/form.schema.json +0 -53
  265. package/src/primitives/card-schemas/link.schema.json +0 -54
  266. package/src/primitives/card-schemas/tasks.result.schema.json +0 -16
  267. package/src/primitives/card-schemas/tasks.schema.json +0 -83
  268. package/src/primitives/card-tags.ts +0 -61
  269. package/src/primitives/card-validate-cards.ts +0 -255
  270. package/src/primitives/card-validate-schemas.ts +0 -58
  271. package/src/primitives/card-validate.ts +0 -131
  272. package/src/primitives/chat-config.tsx +0 -103
  273. package/src/primitives/composer-model.ts +0 -49
  274. package/src/primitives/composer-triggers.ts +0 -35
  275. package/src/primitives/controllable.ts +0 -21
  276. package/src/primitives/conversation-store.ts +0 -248
  277. package/src/primitives/create-kai-chat.ts +0 -66
  278. package/src/primitives/create-tween.ts +0 -266
  279. package/src/primitives/embed-providers.ts +0 -254
  280. package/src/primitives/field-mask.ts +0 -256
  281. package/src/primitives/field-semantics.ts +0 -115
  282. package/src/primitives/highlighter.ts +0 -157
  283. package/src/primitives/input-mask.ts +0 -853
  284. package/src/primitives/link-preview.ts +0 -87
  285. package/src/primitives/message-feedback.ts +0 -124
  286. package/src/primitives/pdf-preview.ts +0 -121
  287. package/src/primitives/toast-store.ts +0 -338
  288. package/src/primitives/url-scheme-policy.ts +0 -70
  289. package/src/primitives/use-audio-analysis.ts +0 -340
  290. package/src/primitives/use-auto-resize.ts +0 -31
  291. package/src/primitives/use-resize-observer.ts +0 -45
  292. package/src/primitives/use-sequencer.ts +0 -72
  293. package/src/primitives/use-speech-recognition.ts +0 -146
  294. package/src/primitives/use-stick-to-bottom.ts +0 -75
  295. package/src/primitives/use-text-stream.ts +0 -143
  296. package/src/primitives/use-voice-recorder.ts +0 -62
  297. package/src/primitives/visualizer-sequences.ts +0 -350
  298. package/src/remote/host-embed.ts +0 -345
  299. package/src/remote/index.ts +0 -2
  300. package/src/remote/origin.ts +0 -30
  301. package/src/remote/provider-runtime.ts +0 -262
  302. package/src/remote/provider.ts +0 -2
  303. package/src/remote/validate.ts +0 -22
  304. package/src/remote/version.ts +0 -12
  305. package/src/remote/wire.ts +0 -48
  306. package/src/schemas/from-tool-call.ts +0 -151
  307. package/src/schemas/index.ts +0 -341
  308. package/src/schemas/provider-subsets.ts +0 -538
  309. package/src/schemas/registry.ts +0 -355
  310. package/src/schemas/tool-defs.ts +0 -793
  311. package/src/solid.ts +0 -173
  312. package/src/state/index.ts +0 -44
  313. package/src/state/messages.ts +0 -53
  314. package/src/state/mock.ts +0 -297
  315. package/src/state/parts.ts +0 -295
  316. package/src/state/persistence.ts +0 -180
  317. package/src/state/stream.ts +0 -246
  318. package/src/state/suggestions.ts +0 -9
  319. package/src/state/threads.ts +0 -142
  320. package/src/test-utils/fake-clock.ts +0 -88
  321. package/src/types.ts +0 -95
  322. package/src/ui/action-icons.ts +0 -53
  323. package/src/ui/agent-card.tsx +0 -218
  324. package/src/ui/avatar.tsx +0 -23
  325. package/src/ui/badge.tsx +0 -21
  326. package/src/ui/button.tsx +0 -49
  327. package/src/ui/card.tsx +0 -245
  328. package/src/ui/checkbox-group.tsx +0 -153
  329. package/src/ui/checkbox.tsx +0 -63
  330. package/src/ui/collapsible.tsx +0 -163
  331. package/src/ui/command.tsx +0 -103
  332. package/src/ui/dialog.tsx +0 -223
  333. package/src/ui/dock.tsx +0 -630
  334. package/src/ui/dropdown.tsx +0 -636
  335. package/src/ui/editable-label.tsx +0 -112
  336. package/src/ui/hover-card.tsx +0 -345
  337. package/src/ui/icon.tsx +0 -167
  338. package/src/ui/input.tsx +0 -391
  339. package/src/ui/kbd.tsx +0 -118
  340. package/src/ui/nav.tsx +0 -282
  341. package/src/ui/notice.tsx +0 -84
  342. package/src/ui/overlay.tsx +0 -277
  343. package/src/ui/pane-grid.tsx +0 -117
  344. package/src/ui/pane-group.tsx +0 -291
  345. package/src/ui/pane.tsx +0 -193
  346. package/src/ui/popover.tsx +0 -106
  347. package/src/ui/progress-bar.tsx +0 -83
  348. package/src/ui/prompt-dock.tsx +0 -145
  349. package/src/ui/radio.tsx +0 -150
  350. package/src/ui/resizable.tsx +0 -693
  351. package/src/ui/scroll-area.tsx +0 -26
  352. package/src/ui/segmented.tsx +0 -109
  353. package/src/ui/select.tsx +0 -168
  354. package/src/ui/separator.tsx +0 -10
  355. package/src/ui/settings-group.tsx +0 -67
  356. package/src/ui/skeleton.tsx +0 -73
  357. package/src/ui/slider.tsx +0 -178
  358. package/src/ui/status.tsx +0 -48
  359. package/src/ui/switch.tsx +0 -119
  360. package/src/ui/tabs.tsx +0 -168
  361. package/src/ui/textarea.tsx +0 -21
  362. package/src/ui/tooltip.tsx +0 -118
  363. package/src/utils/cn.ts +0 -30
  364. package/src/wire/chunk.ts +0 -248
  365. package/src/wire/consume.ts +0 -599
  366. package/src/wire/diagnostics.ts +0 -727
  367. package/src/wire/encode-probe.ts +0 -214
  368. package/src/wire/encode.ts +0 -947
  369. package/src/wire/files.ts +0 -342
  370. package/src/wire/formats/anthropic.ts +0 -274
  371. package/src/wire/formats/openai.ts +0 -228
  372. package/src/wire/index.ts +0 -95
  373. package/src/wire/media-types.ts +0 -344
  374. package/src/wire/read.ts +0 -396
  375. package/src/wire/sink-helpers.ts +0 -50
  376. package/src/wire/sse.ts +0 -153
@@ -1,12 +1 @@
1
- var Ln=Object.defineProperty,In=(e,t,n)=>t in e?Ln(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,p=(e,t,n)=>In(e,typeof t!="symbol"?t+"":t,n),C=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function En(e){return Oe(e)}function Oe(e){return Array.isArray(e)?On(e):e instanceof RegExp?e:typeof e=="object"?Mn(e):e}function On(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=Oe(e[n]);return t}function Mn(e){let t={};for(let n in e)t[n]=Oe(e[n]);return t}function ht(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function dt(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?dt(e.substring(0,e.length-1)):e.substr(~t+1)}var Me=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,fe=class{static hasCaptures(e){return e===null?!1:(Me.lastIndex=0,Me.test(e))}static replaceCaptures(e,t,n){return e.replace(Me,(r,o,s,a)=>{let l=n[parseInt(o||s,10)];if(l){let i=t.substring(l.start,l.end);for(;i[0]===".";)i=i.substring(1);switch(a){case"downcase":return i.toLowerCase();case"upcase":return i.toUpperCase();default:return i}}else return r})}};function pt(e,t){return e<t?-1:e>t?1:0}function gt(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let o=0;o<n;o++){let s=pt(e[o],t[o]);if(s!==0)return s}return 0}return n-r}function mt(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function ft(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var yt=class{constructor(e){p(this,"cache",new Map),this.fn=e}get(e){if(this.cache.has(e))return this.cache.get(e);const t=this.fn(e);return this.cache.set(e,t),t}},ye=class{constructor(e,t,n){p(this,"_cachedMatchRoot",new yt(r=>this._root.match(r))),this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(Dn(e),t)}static createFromParsedTheme(e,t){return jn(e,t)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,n=this._cachedMatchRoot.get(t).find(r=>Bn(e.parent,r.parentScopes));return n?new bt(n.fontStyle,n.foreground,n.background):null}},Be=class Ie{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(const r of n)t=new Ie(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new Ie(n,t[r]);return n}push(t){return new Ie(this,t)}getSegments(){let t=this;const n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){const n=[];let r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function Bn(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],o=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],o=!0}for(;e&&!Gn(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Gn(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var bt=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function Dn(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let o=0,s=t.length;o<s;o++){let a=t[o];if(!a.settings)continue;let l;if(typeof a.scope=="string"){let u=a.scope;u=u.replace(/^[,]+/,""),u=u.replace(/[,]+$/,""),l=u.split(",")}else Array.isArray(a.scope)?l=a.scope:l=[""];let i=-1;if(typeof a.settings.fontStyle=="string"){i=0;let u=a.settings.fontStyle.split(" ");for(let d=0,g=u.length;d<g;d++)switch(u[d]){case"italic":i=i|1;break;case"bold":i=i|2;break;case"underline":i=i|4;break;case"strikethrough":i=i|8;break}}let c=null;typeof a.settings.foreground=="string"&&mt(a.settings.foreground)&&(c=a.settings.foreground);let h=null;typeof a.settings.background=="string"&&mt(a.settings.background)&&(h=a.settings.background);for(let u=0,d=l.length;u<d;u++){let g=l[u].trim().split(" "),f=g[g.length-1],_=null;g.length>1&&(_=g.slice(0,g.length-1),_.reverse()),n[r++]=new $n(f,_,o,i,c,h)}}return n}var $n=class{constructor(e,t,n,r,o,s){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=o,this.background=s}},L=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(L||{});function jn(e,t){e.sort((i,c)=>{let h=pt(i.scope,c.scope);return h!==0||(h=gt(i.parentScopes,c.parentScopes),h!==0)?h:i.index-c.index});let n=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let i=e.shift();i.fontStyle!==-1&&(n=i.fontStyle),i.foreground!==null&&(r=i.foreground),i.background!==null&&(o=i.background)}let s=new Fn(t),a=new bt(n,s.getId(r),s.getId(o)),l=new Un(new Ge(0,null,-1,0,0),[]);for(let i=0,c=e.length;i<c;i++){let h=e[i];l.insert(0,h.scope,h.parentScopes,h.fontStyle,s.getId(h.foreground),s.getId(h.background))}return new ye(s,a,l)}var Fn=class{constructor(e){if(p(this,"_isFrozen"),p(this,"_lastColorId"),p(this,"_id2color"),p(this,"_color2id"),this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Wn=Object.freeze([]),Ge=class An{constructor(t,n,r,o,s){p(this,"scopeDepth"),p(this,"parentScopes"),p(this,"fontStyle"),p(this,"foreground"),p(this,"background"),this.scopeDepth=t,this.parentScopes=n||Wn,this.fontStyle=r,this.foreground=o,this.background=s}clone(){return new An(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,o=t.length;r<o;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Un=class ct{constructor(t,n=[],r={}){p(this,"_rulesWithParentScopes"),this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=n.parentScopes.length);){const s=n.parentScopes[o].length-t.parentScopes[r].length;if(s!==0)return s;r++,o++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,s;if(r===-1?(o=t,s=""):(o=t.substring(0,r),s=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(s)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(ct._cmpBySpecificity),n}insert(t,n,r,o,s,a){if(n===""){this._doInsertHere(t,r,o,s,a);return}let l=n.indexOf("."),i,c;l===-1?(i=n,c=""):(i=n.substring(0,l),c=n.substring(l+1));let h;this._children.hasOwnProperty(i)?h=this._children[i]:(h=new ct(this._mainRule.clone(),Ge.cloneArr(this._rulesWithParentScopes)),this._children[i]=h),h.insert(t+1,c,r,o,s,a)}_doInsertHere(t,n,r,o,s){if(n===null){this._mainRule.acceptOverwrite(t,r,o,s);return}for(let a=0,l=this._rulesWithParentScopes.length;a<l;a++){let i=this._rulesWithParentScopes[a];if(gt(i.parentScopes,n)===0){i.acceptOverwrite(t,r,o,s);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new Ge(t,n,r,o,s))}},Y=class M{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=M.getLanguageId(t),r=M.getTokenType(t),o=M.getFontStyle(t),s=M.getForeground(t),a=M.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:o,foreground:s,background:a})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,o,s,a,l){let i=M.getLanguageId(t),c=M.getTokenType(t),h=M.containsBalancedBrackets(t)?1:0,u=M.getFontStyle(t),d=M.getForeground(t),g=M.getBackground(t);return n!==0&&(i=n),r!==8&&(c=r),o!==null&&(h=o?1:0),s!==-1&&(u=s),a!==0&&(d=a),l!==0&&(g=l),(i<<0|c<<8|h<<10|u<<11|d<<15|g<<24)>>>0}};function be(e,t){const n=[],r=qn(e);let o=r.next();for(;o!==null;){let i=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":i=1;break;case"L":i=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let c=a();if(n.push({matcher:c,priority:i}),o!==",")break;o=r.next()}return n;function s(){if(o==="-"){o=r.next();const i=s();return c=>!!i&&!i(c)}if(o==="("){o=r.next();const i=l();return o===")"&&(o=r.next()),i}if(kt(o)){const i=[];do i.push(o),o=r.next();while(kt(o));return c=>t(i,c)}return null}function a(){const i=[];let c=s();for(;c;)i.push(c),c=s();return h=>i.every(u=>u(h))}function l(){const i=[];let c=a();for(;c&&(i.push(c),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");c=a()}return h=>i.some(u=>u(h))}}function kt(e){return!!e&&!!e.match(/[\w\.:]+/)}function qn(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const r=n[0];return n=t.exec(e),r}}}function _t(e){typeof e.dispose=="function"&&e.dispose()}var te=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},zn=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Hn=class{constructor(){p(this,"_references",[]),p(this,"_seenReferenceKeys",new Set),p(this,"visitedRule",new Set)}get references(){return this._references}add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Yn=class{constructor(e,t){p(this,"seenFullScopeRequests",new Set),p(this,"seenPartialScopeRequests",new Set),p(this,"Q"),this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new te(this.initialScopeName)]}processQueue(){const e=this.Q;this.Q=[];const t=new Hn;for(const n of e)Kn(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof te){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function Kn(e,t,n,r){const o=n.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const s=n.lookup(t);e instanceof te?ke({baseGrammar:s,selfGrammar:o},r):De(e.ruleName,{baseGrammar:s,selfGrammar:o,repository:o.repository},r);const a=n.injections(e.scopeName);if(a)for(const l of a)r.add(new te(l))}function De(e,t,n){if(t.repository&&t.repository[e]){const r=t.repository[e];_e([r],t,n)}}function ke(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&_e(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&_e(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function _e(e,t,n){for(const r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);const o=r.repository?ht({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&_e(r.patterns,{...t,repository:o},n);const s=r.include;if(!s)continue;const a=St(s);switch(a.kind){case 0:ke({...t,selfGrammar:t.baseGrammar},n);break;case 1:ke(t,n);break;case 2:De(a.ruleName,{...t,repository:o},n);break;case 3:case 4:const l=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(l){const i={baseGrammar:t.baseGrammar,selfGrammar:l,repository:o};a.kind===4?De(a.ruleName,i,n):ke(i,n)}else a.kind===4?n.add(new zn(a.scopeName,a.ruleName)):n.add(new te(a.scopeName));break}}}var Vn=class{constructor(){p(this,"kind",0)}},Xn=class{constructor(){p(this,"kind",1)}},Jn=class{constructor(e){p(this,"kind",2),this.ruleName=e}},Qn=class{constructor(e){p(this,"kind",3),this.scopeName=e}},Zn=class{constructor(e,t){p(this,"kind",4),this.scopeName=e,this.ruleName=t}};function St(e){if(e==="$base")return new Vn;if(e==="$self")return new Xn;const t=e.indexOf("#");if(t===-1)return new Qn(e);if(t===0)return new Jn(e.substring(1));{const n=e.substring(0,t),r=e.substring(t+1);return new Zn(n,r)}}var er=/\\(\d+)/,vt=/\\(\d+)/g,ws=Symbol("RuleId"),tr=-1,wt=-2,ne=class{constructor(e,t,n,r){p(this,"$location"),p(this,"id"),p(this,"_nameIsCapturing"),p(this,"_name"),p(this,"_contentNameIsCapturing"),p(this,"_contentName"),this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=fe.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=fe.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${dt(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:fe.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:fe.replaceCaptures(this._contentName,e,t)}},nr=class extends ne{constructor(e,t,n,r,o){super(e,t,n,r),p(this,"retokenizeCapturedWithRuleId"),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,r){throw new Error("Not supported!")}},rr=class extends ne{constructor(e,t,n,r,o){super(e,t,n,null),p(this,"_match"),p(this,"captures"),p(this,"_cachedCompiledPatterns"),this._match=new re(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Ct=class extends ne{constructor(e,t,n,r,o){super(e,t,n,r),p(this,"hasMissingPatterns"),p(this,"patterns"),p(this,"_cachedCompiledPatterns"),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(const n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},$e=class extends ne{constructor(e,t,n,r,o,s,a,l,i,c){super(e,t,n,r),p(this,"_begin"),p(this,"beginCaptures"),p(this,"_end"),p(this,"endHasBackReferences"),p(this,"endCaptures"),p(this,"applyEndPatternLast"),p(this,"hasMissingPatterns"),p(this,"patterns"),p(this,"_cachedCompiledPatterns"),this._begin=new re(o,this.id),this.beginCaptures=s,this._end=new re(a||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=l,this.applyEndPatternLast=i||!1,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oe;for(const n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Se=class extends ne{constructor(e,t,n,r,o,s,a,l,i){super(e,t,n,r),p(this,"_begin"),p(this,"beginCaptures"),p(this,"whileCaptures"),p(this,"_while"),p(this,"whileHasBackReferences"),p(this,"hasMissingPatterns"),p(this,"patterns"),p(this,"_cachedCompiledPatterns"),p(this,"_cachedCompiledWhilePatterns"),this._begin=new re(o,this.id),this.beginCaptures=s,this.whileCaptures=l,this._while=new re(a,wt),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oe;for(const t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new oe,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Nt=class I{static createCaptureRule(t,n,r,o,s){return t.registerRule(a=>new nr(n,a,r,o,s))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(o=>{if(t.id=o,t.match)return new rr(t.$vscodeTextmateLocation,t.id,t.name,t.match,I._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=ht({},r,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new Ct(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,I._compilePatterns(s,n,r))}return t.while?new Se(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,I._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,I._compileCaptures(t.whileCaptures||t.captures,n,r),I._compilePatterns(t.patterns,n,r)):new $e(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,I._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,I._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,I._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let o=[];if(t){let s=0;for(const a in t){if(a==="$vscodeTextmateLocation")continue;const l=parseInt(a,10);l>s&&(s=l)}for(let a=0;a<=s;a++)o[a]=null;for(const a in t){if(a==="$vscodeTextmateLocation")continue;const l=parseInt(a,10);let i=0;t[a].patterns&&(i=I.getCompiledRuleId(t[a],n,r)),o[l]=I.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,i)}}return o}static _compilePatterns(t,n,r){let o=[];if(t)for(let s=0,a=t.length;s<a;s++){const l=t[s];let i=-1;if(l.include){const c=St(l.include);switch(c.kind){case 0:case 1:i=I.getCompiledRuleId(r[l.include],n,r);break;case 2:let h=r[c.ruleName];h&&(i=I.getCompiledRuleId(h,n,r));break;case 3:case 4:const u=c.scopeName,d=c.kind===4?c.ruleName:null,g=n.getExternalGrammar(u,r);if(g)if(d){let f=g.repository[d];f&&(i=I.getCompiledRuleId(f,n,g.repository))}else i=I.getCompiledRuleId(g.repository.$self,n,g.repository);break}}else i=I.getCompiledRuleId(l,n,r);if(i!==-1){const c=n.getRule(i);let h=!1;if((c instanceof Ct||c instanceof $e||c instanceof Se)&&c.hasMissingPatterns&&c.patterns.length===0&&(h=!0),h)continue;o.push(i)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},re=class xn{constructor(t,n){if(p(this,"source"),p(this,"ruleId"),p(this,"hasAnchor"),p(this,"hasBackReferences"),p(this,"_anchorCache"),t&&typeof t=="string"){const r=t.length;let o=0,s=[],a=!1;for(let l=0;l<r;l++)if(t.charAt(l)==="\\"&&l+1<r){const i=t.charAt(l+1);i==="z"?(s.push(t.substring(o,l)),s.push("$(?!\\n)(?<!\\n)"),o=l+2):(i==="A"||i==="G")&&(a=!0),l++}this.hasAnchor=a,o===0?this.source=t:(s.push(t.substring(o,r)),this.source=s.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=er.test(this.source):this.hasBackReferences=!1}clone(){return new xn(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=n.map(o=>t.substring(o.start,o.end));return vt.lastIndex=0,this.source.replace(vt,(o,s)=>ft(r[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],o=[],s,a,l,i;for(s=0,a=this.source.length;s<a;s++)l=this.source.charAt(s),t[s]=l,n[s]=l,r[s]=l,o[s]=l,l==="\\"&&s+1<a&&(i=this.source.charAt(s+1),i==="A"?(t[s+1]="\uFFFF",n[s+1]="\uFFFF",r[s+1]="A",o[s+1]="A"):i==="G"?(t[s+1]="\uFFFF",n[s+1]="G",r[s+1]="\uFFFF",o[s+1]="G"):(t[s+1]=i,n[s+1]=i,r[s+1]=i,o[s+1]=i),s++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},oe=class{constructor(){p(this,"_items"),p(this,"_hasAnchors"),p(this,"_cached"),p(this,"_anchorCache"),this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Tt(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(o=>o.resolveAnchors(t,n));return new Tt(e,r,this._items.map(o=>o.ruleId))}},Tt=class{constructor(e,t,n){p(this,"scanner"),this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
2
- `)}findNextMatchSync(e,t,n){const r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},je=class{constructor(e,t){this.languageId=e,this.tokenType=t}},K,or=(K=class{constructor(e,t){p(this,"_defaultAttributes"),p(this,"_embeddedLanguagesMatcher"),p(this,"_getBasicScopeAttributes",new yt(n=>{const r=this._scopeToLanguage(n),o=this._toStandardTokenType(n);return new je(r,o)})),this._defaultAttributes=new je(e,8),this._embeddedLanguagesMatcher=new sr(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(e){return e===null?K._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(e)}_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(e){const t=e.match(K.STANDARD_TOKEN_TYPE_REGEXP);if(!t)return 8;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}},p(K,"_NULL_SCOPE_METADATA",new je(0,0)),p(K,"STANDARD_TOKEN_TYPE_REGEXP",/\b(comment|string|regex|meta\.embedded)\b/),K),sr=class{constructor(e){if(p(this,"values"),p(this,"scopesRegExp"),e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,r])=>ft(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;const t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Cs={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Pt=!1,At=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function xt(e,t,n,r,o,s,a,l){const i=t.content.length;let c=!1,h=-1;if(a){const g=ar(e,t,n,r,o,s);o=g.stack,r=g.linePos,n=g.isFirstLine,h=g.anchorPosition}const u=Date.now();for(;!c;){if(l!==0&&Date.now()-u>l)return new At(o,!0);d()}return new At(o,!1);function d(){const g=ir(e,t,n,r,o,h);if(!g){s.produce(o,i),c=!0;return}const f=g.captureIndices,_=g.matchedRuleId,S=f&&f.length>0?f[0].end>r:!1;if(_===tr){const b=o.getRule(e);s.produce(o,f[0].start),o=o.withContentNameScopesList(o.nameScopesList),se(e,t,n,o,s,b.endCaptures,f),s.produce(o,f[0].end);const y=o;if(o=o.parent,h=y.getAnchorPos(),!S&&y.getEnterPos()===r){o=y,s.produce(o,i),c=!0;return}}else{const b=e.getRule(_);s.produce(o,f[0].start);const y=o,k=b.getName(t.content,f),w=o.contentNameScopesList.pushAttributed(k,e);if(o=o.push(_,r,h,f[0].end===i,null,w,w),b instanceof $e){const T=b;se(e,t,n,o,s,T.beginCaptures,f),s.produce(o,f[0].end),h=f[0].end;const P=T.getContentName(t.content,f),x=w.pushAttributed(P,e);if(o=o.withContentNameScopesList(x),T.endHasBackReferences&&(o=o.withEndRule(T.getEndWithResolvedBackReferences(t.content,f))),!S&&y.hasSameRuleAs(o)){o=o.pop(),s.produce(o,i),c=!0;return}}else if(b instanceof Se){const T=b;se(e,t,n,o,s,T.beginCaptures,f),s.produce(o,f[0].end),h=f[0].end;const P=T.getContentName(t.content,f),x=w.pushAttributed(P,e);if(o=o.withContentNameScopesList(x),T.whileHasBackReferences&&(o=o.withEndRule(T.getWhileWithResolvedBackReferences(t.content,f))),!S&&y.hasSameRuleAs(o)){o=o.pop(),s.produce(o,i),c=!0;return}}else if(se(e,t,n,o,s,b.captures,f),s.produce(o,f[0].end),o=o.pop(),!S){o=o.safePop(),s.produce(o,i),c=!0;return}}f[0].end>r&&(r=f[0].end,n=!1)}}function ar(e,t,n,r,o,s){let a=o.beginRuleCapturedEOL?0:-1;const l=[];for(let i=o;i;i=i.pop()){const c=i.getRule(e);c instanceof Se&&l.push({rule:c,stack:i})}for(let i=l.pop();i;i=l.pop()){const{ruleScanner:c,findOptions:h}=ur(i.rule,e,i.stack.endRule,n,r===a),u=c.findNextMatchSync(t,r,h);if(u){if(u.ruleId!==wt){o=i.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(s.produce(i.stack,u.captureIndices[0].start),se(e,t,n,i.stack,s,i.rule.whileCaptures,u.captureIndices),s.produce(i.stack,u.captureIndices[0].end),a=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{o=i.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:a,isFirstLine:n}}function ir(e,t,n,r,o,s){const a=lr(e,t,n,r,o,s),l=e.getInjections();if(l.length===0)return a;const i=cr(l,e,t,n,r,o,s);if(!i)return a;if(!a)return i;const c=a.captureIndices[0].start,h=i.captureIndices[0].start;return h<c||i.priorityMatch&&h===c?i:a}function lr(e,t,n,r,o,s){const a=o.getRule(e),{ruleScanner:l,findOptions:i}=Rt(a,e,o.endRule,n,r===s),c=l.findNextMatchSync(t,r,i);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function cr(e,t,n,r,o,s,a){let l=Number.MAX_VALUE,i=null,c,h=0;const u=s.contentNameScopesList.getScopeNames();for(let d=0,g=e.length;d<g;d++){const f=e[d];if(!f.matcher(u))continue;const _=t.getRule(f.ruleId),{ruleScanner:S,findOptions:b}=Rt(_,t,null,r,o===a),y=S.findNextMatchSync(n,o,b);if(!y)continue;const k=y.captureIndices[0].start;if(!(k>=l)&&(l=k,i=y.captureIndices,c=y.ruleId,h=f.priority,l===o))break}return i?{priorityMatch:h===-1,captureIndices:i,matchedRuleId:c}:null}function Rt(e,t,n,r,o){if(Pt){const s=e.compile(t,n),a=Lt(r,o);return{ruleScanner:s,findOptions:a}}return{ruleScanner:e.compileAG(t,n,r,o),findOptions:0}}function ur(e,t,n,r,o){if(Pt){const s=e.compileWhile(t,n),a=Lt(r,o);return{ruleScanner:s,findOptions:a}}return{ruleScanner:e.compileWhileAG(t,n,r,o),findOptions:0}}function Lt(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function se(e,t,n,r,o,s,a){if(s.length===0)return;const l=t.content,i=Math.min(s.length,a.length),c=[],h=a[0].end;for(let u=0;u<i;u++){const d=s[u];if(d===null)continue;const g=a[u];if(g.length===0)continue;if(g.start>h)break;for(;c.length>0&&c[c.length-1].endPos<=g.start;)o.produceFromScopes(c[c.length-1].scopes,c[c.length-1].endPos),c.pop();if(c.length>0?o.produceFromScopes(c[c.length-1].scopes,g.start):o.produce(r,g.start),d.retokenizeCapturedWithRuleId){const _=d.getName(l,a),S=r.contentNameScopesList.pushAttributed(_,e),b=d.getContentName(l,a),y=S.pushAttributed(b,e),k=r.push(d.retokenizeCapturedWithRuleId,g.start,-1,!1,null,S,y),w=e.createOnigString(l.substring(0,g.end));xt(e,w,n&&g.start===0,g.start,k,o,!1,0),_t(w);continue}const f=d.getName(l,a);if(f!==null){const _=(c.length>0?c[c.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);c.push(new hr(_,g.end))}}for(;c.length>0;)o.produceFromScopes(c[c.length-1].scopes,c[c.length-1].endPos),c.pop()}var hr=class{constructor(e,t){p(this,"scopes"),p(this,"endPos"),this.scopes=e,this.endPos=t}};function dr(e,t,n,r,o,s,a,l){return new gr(e,t,n,r,o,s,a,l)}function It(e,t,n,r,o){const s=be(t,ve),a=Nt.getCompiledRuleId(n,r,o.repository);for(const l of s)e.push({debugSelector:t,matcher:l.matcher,ruleId:a,grammar:o,priority:l.priority})}function ve(e,t){if(t.length<e.length)return!1;let n=0;return e.every(r=>{for(let o=n;o<t.length;o++)if(pr(t[o],r))return n=o+1,!0;return!1})}function pr(e,t){if(!e)return!1;if(e===t)return!0;const n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]==="."}var gr=class{constructor(e,t,n,r,o,s,a,l){if(p(this,"_rootId"),p(this,"_lastRuleId"),p(this,"_ruleId2desc"),p(this,"_includedGrammars"),p(this,"_grammarRepository"),p(this,"_grammar"),p(this,"_injections"),p(this,"_basicScopeAttributesProvider"),p(this,"_tokenTypeMatchers"),this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=l,this._basicScopeAttributesProvider=new or(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=a,this._grammar=Et(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(const i of Object.keys(o)){const c=be(i,ve);for(const h of c)this._tokenTypeMatchers.push({matcher:h.matcher,type:o[i]})}}get themeProvider(){return this._grammarRepository}dispose(){for(const e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){const e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){const o=r.injections;if(o)for(let a in o)It(t,a,o[a],this,r);const s=this._grammarRepository.injections(n);s&&s.forEach(a=>{const l=this.getExternalGrammar(a);if(l){const i=l.injectionSelector;i&&It(t,i,l,this,l)}})}return t.sort((o,s)=>o.priority-s.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){const t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){const n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Et(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){const r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=Nt.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Fe.NULL){o=!0;const c=this._basicScopeAttributesProvider.getDefaultAttributes(),h=this.themeProvider.getDefaults(),u=Y.set(0,c.languageId,c.tokenType,null,h.fontStyle,h.foregroundId,h.backgroundId),d=this.getRule(this._rootId).getName(null,null);let g;d?g=ae.createRootAndLookUpScopeName(d,u,this):g=ae.createRoot("unknown",u),t=new Fe(null,this._rootId,-1,-1,!1,null,g,g)}else o=!1,t.reset();e=e+`
3
- `;const s=this.createOnigString(e),a=s.content.length,l=new fr(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),i=xt(this,s,o,0,t,l,!0,r);return _t(s),{lineLength:a,lineTokens:l,ruleStack:i.stack,stoppedEarly:i.stoppedEarly}}};function Et(e,t){return e=En(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ae=class G{constructor(t,n,r){this.parent=t,this.scopePath=n,this.tokenAttributes=r}static fromExtension(t,n){let r=t,o=t?.scopePath??null;for(const s of n)o=Be.push(o,s.scopeNames),r=new G(r,o,s.encodedTokenAttributes);return r}static createRoot(t,n){return new G(null,new Be(null,t),n)}static createRootAndLookUpScopeName(t,n,r){const o=r.getMetadataForScope(t),s=new Be(null,t),a=r.themeProvider.themeMatch(s),l=G.mergeAttributes(n,o,a);return new G(null,s,l)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return G.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,r){let o=-1,s=0,a=0;return r!==null&&(o=r.fontStyle,s=r.foregroundId,a=r.backgroundId),Y.set(t,n.languageId,n.tokenType,null,o,s,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return G._pushAttributed(this,t,n);const r=t.split(/ /g);let o=this;for(const s of r)o=G._pushAttributed(o,s,n);return o}static _pushAttributed(t,n,r){const o=r.getMetadataForScope(n),s=t.scopePath.push(n),a=r.themeProvider.themeMatch(s),l=G.mergeAttributes(t.tokenAttributes,o,a);return new G(t,s,l)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){var n;const r=[];let o=this;for(;o&&o!==t;)r.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(((n=o.parent)==null?void 0:n.scopePath)??null)}),o=o.parent;return o===t?r.reverse():void 0}},$,Fe=($=class{constructor(e,t,n,r,o,s,a,l){p(this,"_stackElementBrand"),p(this,"_enterPos"),p(this,"_anchorPos"),p(this,"depth"),this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=o,this.endRule=s,this.nameScopesList=a,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}equals(e){return e===null?!1:$._equals(this,e)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?ae.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){$._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(e,t,n,r,o,s,a){return new $(this,e,t,n,r,o,s,a)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){const e=[];return this._writeString(e,0),"["+e.join(",")+"]"}_writeString(e,t){var n,r;return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${(n=this.nameScopesList)==null?void 0:n.toString()}, ${(r=this.contentNameScopesList)==null?void 0:r.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(e){return this.endRule===e?this:new $(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,e,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){var e,t,n;return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:((t=this.nameScopesList)==null?void 0:t.getExtensionIfDefined(((e=this.parent)==null?void 0:e.nameScopesList)??null))??[],contentNameScopesList:((n=this.contentNameScopesList)==null?void 0:n.getExtensionIfDefined(this.nameScopesList))??[]}}static pushFrame(e,t){const n=ae.fromExtension(e?.nameScopesList??null,t.nameScopesList);return new $(e,t.ruleId,t.enterPos??-1,t.anchorPos??-1,t.beginRuleCapturedEOL,t.endRule,n,ae.fromExtension(n,t.contentNameScopesList))}},p($,"NULL",new $(null,0,0,0,!1,null,null,null)),$),mr=class{constructor(e,t){p(this,"balancedBracketScopes"),p(this,"unbalancedBracketScopes"),p(this,"allowAny",!1),this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):be(n,ve).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>be(n,ve).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(const t of this.unbalancedBracketScopes)if(t(e))return!1;for(const t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},fr=class{constructor(e,t,n,r){p(this,"_emitBinaryTokens"),p(this,"_lineText"),p(this,"_tokens"),p(this,"_binaryTokens"),p(this,"_lastTokenEndIndex"),p(this,"_tokenTypeOverrides"),this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){var n;if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,s=!1;if((n=this.balancedBracketSelectors)!=null&&n.matchesAlways&&(s=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const a=e?.getScopeNames()??[];for(const l of this._tokenTypeOverrides)l.matcher(a)&&(o=Y.set(o,0,l.type,null,-1,0,0));this.balancedBracketSelectors&&(s=this.balancedBracketSelectors.match(a))}if(s&&(o=Y.set(o,0,8,s,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}const r=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:r}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);const n=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)n[r]=this._binaryTokens[r];return n}},yr=class{constructor(e,t){p(this,"_grammars",new Map),p(this,"_rawGrammars",new Map),p(this,"_injectionGrammars",new Map),p(this,"_theme"),this._onigLib=t,this._theme=e}dispose(){for(const e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,o){if(!this._grammars.has(e)){let s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,dr(e,s,t,n,r,o,this,this._onigLib))}return this._grammars.get(e)}},br=class{constructor(e){p(this,"_options"),p(this,"_syncRegistry"),p(this,"_ensureGrammarCache"),this._options=e,this._syncRegistry=new yr(ye.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ye.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new mr(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,o){const s=new Yn(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(a=>this._loadSingleGrammar(a.scopeName)),s.processQueue();return this._grammarForScopeName(e,t,n,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){const t=this._options.loadGrammar(e);if(t){const n=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,o)}},We=Fe.NULL;function ie(e,t){const n=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(const[o,s]of Object.entries(t?.colorReplacements||{}))typeof s=="string"?n[o]=s:o===r&&Object.assign(n,s);return n}function j(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ot(e){return Array.isArray(e)?e:[e]}async function Ue(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function le(e){return!e||["plaintext","txt","text","plain"].includes(e)}function qe(e){return e==="ansi"||le(e)}function ce(e){return e==="none"}function ze(e){return ce(e)}const kr=/(\r?\n)/g;function ue(e,t=!1){var n;if(e.length===0)return[["",0]];const r=e.split(kr);let o=0;const s=[];for(let a=0;a<r.length;a+=2){const l=t?r[a]+(r[a+1]||""):r[a];s.push([l,o]),o+=r[a].length,o+=((n=r[a+1])==null?void 0:n.length)||0}return s}const Mt={light:"#333333",dark:"#bbbbbb"},Bt={light:"#fffffe",dark:"#1e1e1e"},Gt="__shiki_resolved";function we(e){var t,n,r,o,s;if(e!=null&&e[Gt])return e;const a={...e};a.tokenColors&&!a.settings&&(a.settings=a.tokenColors,delete a.tokenColors),a.type||(a.type="dark"),a.colorReplacements={...a.colorReplacements},a.settings||(a.settings=[]);let{bg:l,fg:i}=a;if(!l||!i){const d=a.settings?a.settings.find(g=>!g.name&&!g.scope):void 0;(t=d?.settings)!=null&&t.foreground&&(i=d.settings.foreground),(n=d?.settings)!=null&&n.background&&(l=d.settings.background),!i&&(r=a?.colors)!=null&&r["editor.foreground"]&&(i=a.colors["editor.foreground"]),!l&&(o=a?.colors)!=null&&o["editor.background"]&&(l=a.colors["editor.background"]),i||(i=a.type==="light"?Mt.light:Mt.dark),l||(l=a.type==="light"?Bt.light:Bt.dark),a.fg=i,a.bg=l}a.settings[0]&&a.settings[0].settings&&!a.settings[0].scope||a.settings.unshift({settings:{foreground:a.fg,background:a.bg}});let c=0;const h=new Map;function u(d){var g;if(h.has(d))return h.get(d);c+=1;const f=`#${c.toString(16).padStart(8,"0").toLowerCase()}`;return(g=a.colorReplacements)!=null&&g[`#${f}`]?u(d):(h.set(d,f),f)}a.settings=a.settings.map(d=>{var g,f;const _=((g=d.settings)==null?void 0:g.foreground)&&!d.settings.foreground.startsWith("#"),S=((f=d.settings)==null?void 0:f.background)&&!d.settings.background.startsWith("#");if(!_&&!S)return d;const b={...d,settings:{...d.settings}};if(_){const y=u(d.settings.foreground);a.colorReplacements[y]=d.settings.foreground,b.settings.foreground=y}if(S){const y=u(d.settings.background);a.colorReplacements[y]=d.settings.background,b.settings.background=y}return b});for(const d of Object.keys(a.colors||{}))if((d==="editor.foreground"||d==="editor.background"||d.startsWith("terminal.ansi"))&&!((s=a.colors[d])!=null&&s.startsWith("#"))){const g=u(a.colors[d]);a.colorReplacements[g]=a.colors[d],a.colors[d]=g}return Object.defineProperty(a,Gt,{enumerable:!1,writable:!1,value:!0}),a}async function Dt(e){return[...new Set((await Promise.all(e.filter(t=>!qe(t)).map(async t=>await Ue(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function $t(e){return(await Promise.all(e.map(async t=>ze(t)?null:we(await Ue(t))))).filter(t=>!!t)}function jt(e,t){if(!t)return e;if(t[e]){const n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new C(`Circular alias \`${[...n].join(" -> ")} -> ${e}\``);n.add(e)}}return e}var _r=class extends br{constructor(e,t,n,r={}){super(e),p(this,"_resolver"),p(this,"_themes"),p(this,"_langs"),p(this,"_alias"),p(this,"_resolvedThemes",new Map),p(this,"_resolvedGrammars",new Map),p(this,"_langMap",new Map),p(this,"_langGraph",new Map),p(this,"_textmateThemeCache",new WeakMap),p(this,"_loadedThemesCache",null),p(this,"_loadedLanguagesCache",null),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(o=>this.loadTheme(o)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){const t=we(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=ye.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=jt(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){var t,n,r,o;if(this.getGrammar(e.name))return;const s=new Set([...this._langMap.values()].filter(i=>{var c;return(c=i.embeddedLangsLazy)==null?void 0:c.includes(e.name)}));this._resolver.addLanguage(e);const a={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);const l=this.loadGrammarWithConfiguration(e.scopeName,1,a);if(l.name=e.name,this._resolvedGrammars.set(e.name,l),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,s.size)for(const i of s)this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,(n=(t=this._syncRegistry)==null?void 0:t._injectionGrammars)==null||n.delete(i.scopeName),(o=(r=this._syncRegistry)==null?void 0:r._grammars)==null||o.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(const r of e)this.resolveEmbeddedLanguages(r);const t=[...this._langGraph.entries()],n=t.filter(([r,o])=>!o);if(n.length){const r=t.filter(([o,s])=>{var a;return s?(a=s.embeddedLanguages||s.embeddedLangs)==null?void 0:a.some(l=>n.map(([i])=>i).includes(l)):!1}).filter(o=>!n.includes(o));throw new C(`Missing languages ${n.map(([o])=>`\`${o}\``).join(", ")}, required by ${r.map(([o])=>`\`${o}\``).join(", ")}`)}for(const[r,o]of t)this._resolver.addLanguage(o);for(const[r,o]of t)this.loadLanguage(o)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);const t=e.embeddedLanguages??e.embeddedLangs;if(t)for(const n of t)this._langGraph.set(n,this._langMap.get(n))}},Sr=class{constructor(e,t){p(this,"_langs",new Map),p(this,"_scopeToLang",new Map),p(this,"_injections",new Map),p(this,"_onigLib"),this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){const t=e.split(".");let n=[];for(let r=1;r<=t.length;r++){const o=t.slice(0,r).join(".");n=[...n,...this._injections.get(o)||[]]}return n}};let he=0;function Ce(e){he+=1,e.warnings!==!1&&he>=10&&he%10===0&&console.warn(`[Shiki] ${he} 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.`);let t=!1;if(!e.engine)throw new C("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(we),o=new _r(new Sr(e.engine,n),r,n,e.langAlias);let s;function a(y){return jt(y,e.langAlias)}function l(y){S();const k=o.getGrammar(typeof y=="string"?y:y.name);if(!k)throw new C(`Language \`${y}\` not found, you may need to load it first`);return k}function i(y){if(y==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};S();const k=o.getTheme(y);if(!k)throw new C(`Theme \`${y}\` not found, you may need to load it first`);return k}function c(y){S();const k=i(y);return s!==y&&(o.setTheme(k),s=y),{theme:k,colorMap:o.getColorMap()}}function h(){return S(),o.getLoadedThemes()}function u(){return S(),o.getLoadedLanguages()}function d(...y){S(),o.loadLanguages(y.flat(1))}async function g(...y){return d(await Dt(y))}function f(...y){S();for(const k of y.flat(1))o.loadTheme(k)}async function _(...y){return S(),f(await $t(y))}function S(){if(t)throw new C("Shiki instance has been disposed")}function b(){t||(t=!0,o.dispose(),he-=1)}return{setTheme:c,getTheme:i,getLanguage:l,getLoadedThemes:h,getLoadedLanguages:u,resolveLangAlias:a,loadLanguage:g,loadLanguageSync:d,loadTheme:_,loadThemeSync:f,dispose:b,[Symbol.dispose]:b}}const vr=Ce;async function He(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[t,n,r]=await Promise.all([$t(e.themes||[]),Dt(e.langs||[]),e.engine]);return Ce({...e,themes:t,langs:n,engine:r})}const wr=He,Ft=new WeakMap;function Ne(e,t){Ft.set(e,t)}function de(e){return Ft.get(e)}var Te=class Rn{constructor(...t){if(p(this,"_stacks",{}),p(this,"lang"),t.length===2){const[n,r]=t;this.lang=r,this._stacks=n}else{const[n,r,o]=t;this.lang=r,this._stacks={[o]:n}}}get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new Rn(Object.fromEntries(Ot(n).map(r=>[r,We])),t)}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Cr(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Cr(e){const t=[],n=new Set;function r(o){var s;if(n.has(o))return;n.add(o);const a=(s=o?.nameScopesList)==null?void 0:s.scopeName;a&&t.push(a),o.parent&&r(o.parent)}return r(e),t}function Nr(e,t){if(!(e instanceof Te))throw new C("Invalid grammar state");return e.getInternalStack(t)}const Tr=/,/,Pr=/ /;function Wt(e,t,n={}){const{theme:r=e.getLoadedThemes()[0]}=n;if(le(e.resolveLangAlias(n.lang||"text"))||ce(r))return ue(t).map(l=>[{content:l[0],offset:l[1]}]);const{theme:o,colorMap:s}=e.setTheme(r),a=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==a.name)throw new C(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${a.name}"`);if(!n.grammarState.themes.includes(o.name))throw new C(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${o.name}"`)}return Ut(t,a,o,s,n)}function Ye(...e){if(e.length===2)return de(e[1]);const[t,n,r={}]=e,{lang:o="text",theme:s=t.getLoadedThemes()[0]}=r;if(le(o)||ce(s))throw new C("Plain language does not have grammar state");if(o==="ansi")throw new C("ANSI language does not have grammar state");const{theme:a,colorMap:l}=t.setTheme(s),i=t.getLanguage(o);return new Te(Ke(n,i,a,l,r).stateStack,i.name,a.name)}function Ut(e,t,n,r,o){const s=Ke(e,t,n,r,o),a=new Te(s.stateStack,t.name,n.name);return Ne(s.tokens,a),s.tokens}function Ke(e,t,n,r,o){const s=ie(n,o),{tokenizeMaxLineLength:a=0,tokenizeTimeLimit:l=500}=o,i=ue(e);let c=o.grammarState?Nr(o.grammarState,n.name)??We:o.grammarContextCode!=null?Ke(o.grammarContextCode,t,n,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:We,h=[];const u=[];for(let d=0,g=i.length;d<g;d++){const[f,_]=i[d];if(f===""){h=[],u.push([]);continue}if(a>0&&f.length>=a){h=[],u.push([{content:f,offset:_,color:"",fontStyle:0}]);continue}let S,b,y;o.includeExplanation&&(S=t.tokenizeLine(f,c,l),b=S.tokens,y=0);const k=t.tokenizeLine2(f,c,l),w=k.tokens.length/2;for(let T=0;T<w;T++){const P=k.tokens[2*T],x=T+1<w?k.tokens[2*T+2]:f.length;if(P===x)continue;const Z=k.tokens[2*T+1],B=j(r[Y.getForeground(Z)],s),F=Y.getFontStyle(Z),z={content:f.substring(P,x),offset:_+P,color:B,fontStyle:F};if(o.includeExplanation){const ee=[];if(o.includeExplanation!=="scopeName")for(const D of n.settings){let H;switch(typeof D.scope){case"string":H=D.scope.split(Tr).map(Ee=>Ee.trim());break;case"object":H=D.scope;break;default:continue}ee.push({settings:D,selectors:H.map(Ee=>Ee.split(Pr))})}z.explanation=[];let ut=0;for(;P+ut<x;){const D=b[y],H=f.substring(D.startIndex,D.endIndex);ut+=H.length,z.explanation.push({content:H,scopes:o.includeExplanation==="scopeName"?Ar(D.scopes):xr(ee,D.scopes)}),y+=1}}h.push(z)}u.push(h),h=[],c=k.ruleStack}return{tokens:u,stateStack:c}}function Ar(e){return e.map(t=>({scopeName:t}))}function xr(e,t){const n=[];for(let r=0,o=t.length;r<o;r++){const s=t[r];n[r]={scopeName:s,themeMatches:Lr(e,s,t.slice(0,r))}}return n}function qt(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Rr(e,t,n){if(!qt(e.at(-1),t))return!1;let r=e.length-2,o=n.length-1;for(;r>=0&&o>=0;)qt(e[r],n[o])&&(r-=1),o-=1;return r===-1}function Lr(e,t,n){const r=[];for(const{selectors:o,settings:s}of e)for(const a of o)if(Rr(a,t,n)){r.push(s);break}return r}function Pe(e,t,n,r=Wt){const o=Object.entries(n.themes).filter(c=>c[1]).map(c=>({color:c[0],theme:c[1]})),s=o.map(c=>{const h=r(e,t,{...n,theme:c.theme});return{tokens:h,state:de(h),theme:typeof c.theme=="string"?c.theme:c.theme.name}}),a=Ir(...s.map(c=>c.tokens)),l=a[0].map((c,h)=>c.map((u,d)=>{const g={content:u.content,variants:{},offset:u.offset};return"includeExplanation"in n&&n.includeExplanation&&(g.explanation=u.explanation),a.forEach((f,_)=>{const{content:S,explanation:b,offset:y,...k}=f[h][d];g.variants[o[_].color]=k}),g})),i=s[0].state?new Te(Object.fromEntries(s.map(c=>{var h;return[c.theme,(h=c.state)==null?void 0:h.getInternalStack(c.theme)]})),s[0].state.lang):void 0;return i&&Ne(l,i),l}function Ir(...e){const t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){const o=e.map(i=>i[r]),s=t.map(()=>[]);t.forEach((i,c)=>i.push(s[c]));const a=o.map(()=>0),l=o.map(i=>i[0]);for(;l.every(i=>i);){const i=Math.min(...l.map(c=>c.content.length));for(let c=0;c<n;c++){const h=l[c];h.content.length===i?(s[c].push(h),a[c]+=1,l[c]=o[c][a[c]]):(s[c].push({...h,content:h.content.slice(0,i)}),l[c]={...h,content:h.content.slice(i),offset:h.offset+i})}}}return t}const Er=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class pe{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}pe.prototype.normal={},pe.prototype.property={},pe.prototype.space=void 0;function zt(e,t){const n={},r={};for(const o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new pe(n,r,t)}function Ve(e){return e.toLowerCase()}class E{constructor(t,n){this.attribute=n,this.property=t}}E.prototype.attribute="",E.prototype.booleanish=!1,E.prototype.boolean=!1,E.prototype.commaOrSpaceSeparated=!1,E.prototype.commaSeparated=!1,E.prototype.defined=!1,E.prototype.mustUseProperty=!1,E.prototype.number=!1,E.prototype.overloadedBoolean=!1,E.prototype.property="",E.prototype.spaceSeparated=!1,E.prototype.space=void 0;let Or=0;const v=U(),A=U(),Xe=U(),m=U(),N=U(),W=U(),O=U();function U(){return 2**++Or}const Je=Object.freeze(Object.defineProperty({__proto__:null,boolean:v,booleanish:A,commaOrSpaceSeparated:O,commaSeparated:W,number:m,overloadedBoolean:Xe,spaceSeparated:N},Symbol.toStringTag,{value:"Module"})),Qe=Object.keys(Je);class Ze extends E{constructor(t,n,r,o){let s=-1;if(super(t,n),Ht(this,"space",o),typeof r=="number")for(;++s<Qe.length;){const a=Qe[s];Ht(this,Qe[s],(r&Je[a])===Je[a])}}}Ze.prototype.defined=!0;function Ht(e,t,n){n&&(e[t]=n)}function V(e){const t={},n={};for(const[r,o]of Object.entries(e.properties)){const s=new Ze(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[Ve(r)]=r,n[Ve(s.attribute)]=r}return new pe(t,n,e.space)}const Yt=V({properties:{ariaActiveDescendant:null,ariaAtomic:A,ariaAutoComplete:null,ariaBusy:A,ariaChecked:A,ariaColCount:m,ariaColIndex:m,ariaColSpan:m,ariaControls:N,ariaCurrent:null,ariaDescribedBy:N,ariaDetails:null,ariaDisabled:A,ariaDropEffect:N,ariaErrorMessage:null,ariaExpanded:A,ariaFlowTo:N,ariaGrabbed:A,ariaHasPopup:null,ariaHidden:A,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:N,ariaLevel:m,ariaLive:null,ariaModal:A,ariaMultiLine:A,ariaMultiSelectable:A,ariaOrientation:null,ariaOwns:N,ariaPlaceholder:null,ariaPosInSet:m,ariaPressed:A,ariaReadOnly:A,ariaRelevant:null,ariaRequired:A,ariaRoleDescription:N,ariaRowCount:m,ariaRowIndex:m,ariaRowSpan:m,ariaSelected:A,ariaSetSize:m,ariaSort:null,ariaValueMax:m,ariaValueMin:m,ariaValueNow:m,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Kt(e,t){return t in e?e[t]:t}function Vt(e,t){return Kt(e,t.toLowerCase())}const Mr=V({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:W,acceptCharset:N,accessKey:N,action:null,allow:null,allowFullScreen:v,allowPaymentRequest:v,allowUserMedia:v,alpha:v,alt:null,as:null,async:v,autoCapitalize:null,autoComplete:N,autoFocus:v,autoPlay:v,blocking:N,capture:null,charSet:null,checked:v,cite:null,className:N,closedBy:null,colorSpace:null,cols:m,colSpan:m,command:null,commandFor:null,content:null,contentEditable:A,controls:v,controlsList:N,coords:m|W,crossOrigin:null,data:null,dateTime:null,decoding:null,default:v,defer:v,dir:null,dirName:null,disabled:v,download:Xe,draggable:A,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:v,formTarget:null,headers:N,height:m,hidden:Xe,high:m,href:null,hrefLang:null,htmlFor:N,httpEquiv:N,id:null,imageSizes:null,imageSrcSet:null,inert:v,inputMode:null,integrity:null,is:null,isMap:v,itemId:null,itemProp:N,itemRef:N,itemScope:v,itemType:N,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:v,low:m,manifest:null,max:null,maxLength:m,media:null,method:null,min:null,minLength:m,multiple:v,muted:v,name:null,nonce:null,noModule:v,noValidate:v,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:v,optimum:m,pattern:null,ping:N,placeholder:null,playsInline:v,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:v,referrerPolicy:null,rel:N,required:v,reversed:v,rows:m,rowSpan:m,sandbox:N,scope:null,scoped:v,seamless:v,selected:v,shadowRootClonable:v,shadowRootCustomElementRegistry:v,shadowRootDelegatesFocus:v,shadowRootMode:null,shadowRootSerializable:v,shape:null,size:m,sizes:null,slot:null,span:m,spellCheck:A,src:null,srcDoc:null,srcLang:null,srcSet:null,start:m,step:null,style:null,tabIndex:m,target:null,title:null,translate:null,type:null,typeMustMatch:v,useMap:null,value:A,width:m,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:N,axis:null,background:null,bgColor:null,border:m,borderColor:null,bottomMargin:m,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:v,declare:v,event:null,face:null,frame:null,frameBorder:null,hSpace:m,leftMargin:m,link:null,longDesc:null,lowSrc:null,marginHeight:m,marginWidth:m,noResize:v,noHref:v,noShade:v,noWrap:v,object:null,profile:null,prompt:null,rev:null,rightMargin:m,rules:null,scheme:null,scrolling:A,standby:null,summary:null,text:null,topMargin:m,valueType:null,version:null,vAlign:null,vLink:null,vSpace:m,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:v,disablePictureInPicture:v,disableRemotePlayback:v,exportParts:W,part:N,prefix:null,property:null,results:m,security:null,unselectable:null},space:"html",transform:Vt}),Br=V({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:O,accentHeight:m,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:m,amplitude:m,arabicForm:null,ascent:m,attributeName:null,attributeType:null,azimuth:m,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:m,by:null,calcMode:null,capHeight:m,className:N,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:m,diffuseConstant:m,direction:null,display:null,dur:null,divisor:m,dominantBaseline:null,download:v,dx:null,dy:null,edgeMode:null,editable:null,elevation:m,enableBackground:null,end:null,event:null,exponent:m,externalResourcesRequired:null,fill:null,fillOpacity:m,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:W,g2:W,glyphName:W,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:m,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:m,horizOriginX:m,horizOriginY:m,id:null,ideographic:m,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:m,k:m,k1:m,k2:m,k3:m,k4:m,kernelMatrix:O,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:m,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:m,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:m,overlineThickness:m,paintOrder:null,panose1:null,path:null,pathLength:m,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:N,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:m,pointsAtY:m,pointsAtZ:m,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:O,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:O,rev:O,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:O,requiredFeatures:O,requiredFonts:O,requiredFormats:O,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:m,specularExponent:m,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:m,strikethroughThickness:m,string:null,stroke:null,strokeDashArray:O,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:m,strokeOpacity:m,strokeWidth:null,style:null,surfaceScale:m,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:O,tabIndex:m,tableValues:null,target:null,targetX:m,targetY:m,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:O,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:m,underlineThickness:m,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:m,values:null,vAlphabetic:m,vMathematical:m,vectorEffect:null,vHanging:m,vIdeographic:m,version:null,vertAdvY:m,vertOriginX:m,vertOriginY:m,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:m,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Kt}),Xt=V({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),Jt=V({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Vt}),Qt=V({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Gr=/[A-Z]/g,Zt=/-[a-z]/g,Dr=/^data[-\w.:]+$/i;function $r(e,t){const n=Ve(t);let r=t,o=E;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Dr.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(Zt,Fr);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!Zt.test(s)){let a=s.replace(Gr,jr);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}o=Ze}return new o(r,t)}function jr(e){return"-"+e.toLowerCase()}function Fr(e){return e.charAt(1).toUpperCase()}const Wr=zt([Yt,Mr,Xt,Jt,Qt],"html"),en=zt([Yt,Br,Xt,Jt,Qt],"svg"),tn={}.hasOwnProperty;function Ur(e,t){const n=t||{};function r(o,...s){let a=r.invalid;const l=r.handlers;if(o&&tn.call(o,e)){const i=String(o[e]);a=tn.call(l,i)?l[i]:r.unknown}if(a)return a.call(this,o,...s)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const qr=/["&'<>`]/g,zr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Hr=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Yr=/[|\\{}()[\]^$+*?.]/g,nn=new WeakMap;function Kr(e,t){if(e=e.replace(t.subset?Vr(t.subset):qr,r),t.subset||t.escapeOnly)return e;return e.replace(zr,n).replace(Hr,r);function n(o,s,a){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,a.charCodeAt(s+2),t)}function r(o,s,a){return t.format(o.charCodeAt(0),a.charCodeAt(s+1),t)}}function Vr(e){let t=nn.get(e);return t||(t=Xr(e),nn.set(e,t)),t}function Xr(e){const t=[];let n=-1;for(;++n<e.length;)t.push(e[n].replace(Yr,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}const Jr=/[\dA-Fa-f]/;function Qr(e,t,n){const r="&#x"+e.toString(16).toUpperCase();return n&&t&&!Jr.test(String.fromCharCode(t))?r:r+";"}const Zr=/\d/;function eo(e,t,n){const r="&#"+String(e);return n&&t&&!Zr.test(String.fromCharCode(t))?r:r+";"}const to=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],et={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"},no=["cent","copy","divide","gt","lt","not","para","times"],rn={}.hasOwnProperty,tt={};let Ae;for(Ae in et)rn.call(et,Ae)&&(tt[et[Ae]]=Ae);const ro=/[^\dA-Za-z]/;function oo(e,t,n,r){const o=String.fromCharCode(e);if(rn.call(tt,o)){const s=tt[o],a="&"+s;return n&&to.includes(s)&&!no.includes(s)&&(!r||t&&t!==61&&ro.test(String.fromCharCode(t)))?a:a+";"}return""}function so(e,t,n){let r=Qr(e,t,n.omitOptionalSemicolons),o;if((n.useNamedReferences||n.useShortestReferences)&&(o=oo(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!o)&&n.useShortestReferences){const s=eo(e,t,n.omitOptionalSemicolons);s.length<r.length&&(r=s)}return o&&(!n.useShortestReferences||o.length<r.length)?o:r}function X(e,t){return Kr(e,Object.assign({format:so},t))}const ao=/^>|^->|<!--|-->|--!>|<!-$/g,io=[">"],lo=["<",">"];function co(e,t,n,r){return r.settings.bogusComments?"<?"+X(e.value,Object.assign({},r.settings.characterReferences,{subset:io}))+">":"<!--"+e.value.replace(ao,o)+"-->";function o(s){return X(s,Object.assign({},r.settings.characterReferences,{subset:lo}))}}function uo(e,t,n,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}function on(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(t);for(;o!==-1;)r++,o=n.indexOf(t,o+t.length);return r}function ho(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function po(e){return e.join(" ").trim()}const go=/[ \t\n\f\r]/g;function nt(e){return typeof e=="object"?e.type==="text"?sn(e.value):!1:sn(e)}function sn(e){return e.replace(go,"")===""}const R=ln(1),an=ln(-1),mo=[];function ln(e){return t;function t(n,r,o){const s=n?n.children:mo;let a=(r||0)+e,l=s[a];if(!o)for(;l&&nt(l);)a+=e,l=s[a];return l}}const fo={}.hasOwnProperty;function cn(e){return t;function t(n,r,o){return fo.call(e,n.tagName)&&e[n.tagName](n,r,o)}}const rt=cn({body:bo,caption:ot,colgroup:ot,dd:vo,dt:So,head:ot,html:yo,li:_o,optgroup:wo,option:Co,p:ko,rp:un,rt:un,tbody:To,td:hn,tfoot:Po,th:hn,thead:No,tr:Ao});function ot(e,t,n){const r=R(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&nt(r.value.charAt(0)))}function yo(e,t,n){const r=R(n,t);return!r||r.type!=="comment"}function bo(e,t,n){const r=R(n,t);return!r||r.type!=="comment"}function ko(e,t,n){const r=R(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function _o(e,t,n){const r=R(n,t);return!r||r.type==="element"&&r.tagName==="li"}function So(e,t,n){const r=R(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function vo(e,t,n){const r=R(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function un(e,t,n){const r=R(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function wo(e,t,n){const r=R(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Co(e,t,n){const r=R(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function No(e,t,n){const r=R(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function To(e,t,n){const r=R(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Po(e,t,n){return!R(n,t)}function Ao(e,t,n){const r=R(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function hn(e,t,n){const r=R(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const xo=cn({body:Io,colgroup:Eo,head:Lo,html:Ro,tbody:Oo});function Ro(e){const t=R(e,-1);return!t||t.type!=="comment"}function Lo(e){const t=new Set;for(const r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}const n=e.children[0];return!n||n.type==="element"}function Io(e){const t=R(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&nt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Eo(e,t,n){const r=an(n,t),o=R(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&rt(r,n.children.indexOf(r),n)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Oo(e,t,n){const r=an(n,t),o=R(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&rt(r,n.children.indexOf(r),n)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}const xe={name:[[`
4
- \f\r &/=>`.split(""),`
5
- \f\r "&'/=>\``.split("")],[`\0
6
- \f\r "&'/<=>`.split(""),`\0
7
- \f\r "&'/<=>\``.split("")]],unquoted:[[`
8
- \f\r &>`.split(""),`\0
9
- \f\r "&'<=>\``.split("")],[`\0
10
- \f\r "&'<=>\``.split(""),`\0
11
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Mo(e,t,n,r){const o=r.schema,s=o.space==="svg"?!1:r.settings.omitOptionalTags;let a=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase());const l=[];let i;o.space==="html"&&e.tagName==="svg"&&(r.schema=en);const c=Bo(r,e.properties),h=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,h&&(a=!1),(c||!s||!xo(e,t,n))&&(l.push("<",e.tagName,c?" "+c:""),a&&(o.space==="svg"||r.settings.closeSelfClosing)&&(i=c.charAt(c.length-1),(!r.settings.tightSelfClosing||i==="/"||i&&i!=='"'&&i!=="'")&&l.push(" "),l.push("/")),l.push(">")),l.push(h),!a&&(!s||!rt(e,t,n))&&l.push("</"+e.tagName+">"),l.join("")}function Bo(e,t){const n=[];let r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){const s=Go(e,o,t[o]);s&&n.push(s)}}for(;++r<n.length;){const s=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&s!=='"'&&s!=="'"&&(n[r]+=" ")}return n.join("")}function Go(e,t,n){const r=$r(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,s=e.settings.allowDangerousCharacters?0:1;let a=e.quote,l;if(r.overloadedBoolean&&(n===r.attribute||n==="")?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!="string"||n===r.attribute||n==="")&&(n=!!n),n==null||n===!1||typeof n=="number"&&Number.isNaN(n))return"";const i=X(r.attribute,Object.assign({},e.settings.characterReferences,{subset:xe.name[o][s]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?ho:po)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?i:(e.settings.preferUnquoted&&(l=X(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:xe.unquoted[o][s]}))),l!==n&&(e.settings.quoteSmart&&on(n,a)>on(n,e.alternative)&&(a=e.alternative),l=a+X(n,Object.assign({},e.settings.characterReferences,{subset:(a==="'"?xe.single:xe.double)[o][s],attribute:!0}))+a),i+(l&&"="+l))}const Do=["<","&"];function dn(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:X(e.value,Object.assign({},r.settings.characterReferences,{subset:Do}))}function $o(e,t,n,r){return r.settings.allowDangerousHtml?e.value:dn(e,t,n,r)}function jo(e,t,n,r){return r.all(e)}const Fo=Ur("type",{invalid:Wo,unknown:Uo,handlers:{comment:co,doctype:uo,element:Mo,raw:$o,root:jo,text:dn}});function Wo(e){throw new Error("Expected node, not `"+e+"`")}function Uo(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const qo={},zo={},Ho=[];function Yo(e,t){const n=t||qo,r=n.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Ko,all:Vo,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Er,characterReferences:n.characterReferences||zo,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?en:Wr,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Ko(e,t,n){return Fo(e,t,n,this)}function Vo(e){const t=[],n=e&&e.children||Ho;let r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join("")}const pn=/\s+/g;function st(e,t){var n;if(!t)return e;e.properties||(e.properties={}),(n=e.properties).class||(n.class=[]),typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(pn)),Array.isArray(e.properties.class)||(e.properties.class=[]);const r=Array.isArray(t)?t:t.split(pn);for(const o of r)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}const Xo=/:?lang=["']([^"']+)["']/g,Jo=/(?:```|~~~)([\w-]+)/g,Qo=/\\begin\{([\w-]+)\}/g,Zo=/<script\s+(?:type|lang)=["']([^"']+)["']/gi;function gn(e){const t=ue(e,!0).map(([o])=>o);function n(o){if(o===e.length)return{line:t.length-1,character:t.at(-1).length};let s=o,a=0;for(const l of t){if(s<l.length)break;s-=l.length,a++}return{line:a,character:s}}function r(o,s){let a=0;for(let l=0;l<o;l++)a+=t[l].length;return a+=s,a}return{lines:t,indexToPos:n,posToIndex:r}}function es(e,t,n){const r=new Set;for(const s of e.matchAll(Xo)){const a=s[1].toLowerCase().trim();a&&r.add(a)}for(const s of e.matchAll(Jo)){const a=s[1].toLowerCase().trim();a&&r.add(a)}for(const s of e.matchAll(Qo)){const a=s[1].toLowerCase().trim();a&&r.add(a)}for(const s of e.matchAll(Zo)){const a=s[1].toLowerCase().trim(),l=a.includes("/")?a.split("/").pop():a;l&&r.add(l)}if(!n)return[...r];const o=n.getBundledLanguages();return[...r].filter(s=>s&&o[s])}const ts=["color","background-color"];function mn(e,t){let n=0;const r=[];for(const o of t)o>n&&r.push({...e,content:e.content.slice(n,o),offset:e.offset+n}),n=o;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function fn(e,t){const n=[...t instanceof Set?t:new Set(t)].sort((r,o)=>r-o);return n.length?e.map(r=>r.flatMap(o=>{const s=n.filter(a=>o.offset<a&&a<o.offset+o.content.length).map(a=>a-o.offset).sort((a,l)=>a-l);return s.length?mn(o,s):o})):e}function yn(e,t,n,r,o="css-vars"){const s={content:e.content,explanation:e.explanation,offset:e.offset},a=t.map(h=>ge(e.variants[h])),l=new Set(a.flatMap(h=>Object.keys(h))),i={},c=(h,u)=>{const d=u==="color"?"":u==="background-color"?"-bg":`-${u}`;return n+t[h]+(u==="color"?"":d)};return a.forEach((h,u)=>{for(const d of l){const g=h[d]||"inherit";if(u===0&&r&&ts.includes(d))if(r==="light-dark()"&&a.length>1){const f=t.findIndex(S=>S==="light"),_=t.findIndex(S=>S==="dark");if(f===-1||_===-1)throw new C('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');i[d]=`light-dark(${a[f][d]||"inherit"}, ${a[_][d]||"inherit"})`,o==="css-vars"&&(i[c(u,d)]=g)}else i[d]=g;else o==="css-vars"&&(i[c(u,d)]=g)}}),s.htmlStyle=i,s}function ge(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&L.Italic&&(t["font-style"]="italic"),e.fontStyle&L.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&L.Underline&&n.push("underline"),e.fontStyle&L.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function Re(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}function bn(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let r=function(a){if(typeof a=="number"){if(a<0||a>n.source.length)throw new C(`Invalid decoration offset: ${a}. Code length: ${n.source.length}`);return{...o.indexToPos(a),offset:a}}else{const l=o.lines[a.line];if(l===void 0)throw new C(`Invalid decoration position ${JSON.stringify(a)}. Lines length: ${o.lines.length}`);let i=a.character;if(i<0&&(i=l.length+i),i<0||i>l.length)throw new C(`Invalid decoration position ${JSON.stringify(a)}. Line ${a.line} length: ${l.length}`);return{...a,character:i,offset:o.posToIndex(a.line,i)}}};const o=gn(n.source),s=(n.options.decorations||[]).map(a=>({...a,start:r(a.start),end:r(a.end)}));ns(s),e.set(n.meta,{decorations:s,converter:o,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){var r;if((r=this.options.decorations)!=null&&r.length)return fn(n,t(this).decorations.flatMap(o=>[o.start.offset,o.end.offset]))},code(n){var r;if(!((r=this.options.decorations)!=null&&r.length))return;const o=t(this),s=[...n.children].filter(u=>u.type==="element"&&u.tagName==="span");if(s.length!==o.converter.lines.length)throw new C(`Number of lines in code element (${s.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`);function a(u,d,g,f){const _=s[u];let S="",b=-1,y=-1;if(d===0&&(b=0),g===0&&(y=0),g===Number.POSITIVE_INFINITY&&(y=_.children.length),b===-1||y===-1)for(let w=0;w<_.children.length;w++)S+=kn(_.children[w]),b===-1&&S.length===d&&(b=w+1),y===-1&&S.length===g&&(y=w+1);if(b===-1)throw new C(`Failed to find start index for decoration ${JSON.stringify(f.start)}`);if(y===-1)throw new C(`Failed to find end index for decoration ${JSON.stringify(f.end)}`);const k=_.children.slice(b,y);if(!f.alwaysWrap&&k.length===_.children.length)i(_,f,"line");else if(!f.alwaysWrap&&k.length===1&&k[0].type==="element")i(k[0],f,"token");else{const w={type:"element",tagName:"span",properties:{},children:k};i(w,f,"wrapper"),_.children.splice(b,k.length,w)}}function l(u,d){s[u]=i(s[u],d,"line")}function i(u,d,g){var f;const _=d.properties||{},S=d.transform||(b=>b);return u.tagName=d.tagName||"span",u.properties={...u.properties,..._,class:u.properties.class},(f=d.properties)!=null&&f.class&&st(u,d.properties.class),u=S(u,g)||u,u}const c=[],h=o.decorations.sort((u,d)=>d.start.offset-u.start.offset||u.end.offset-d.end.offset);for(const u of h){const{start:d,end:g}=u;if(d.line===g.line)a(d.line,d.character,g.character,u);else if(d.line<g.line){a(d.line,d.character,Number.POSITIVE_INFINITY,u);for(let f=d.line+1;f<g.line;f++)c.unshift(()=>l(f,u));a(g.line,0,g.character,u)}}c.forEach(u=>u())}}}function ns(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.start.offset>n.end.offset)throw new C(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){const o=e[r],s=n.start.offset<=o.start.offset&&o.start.offset<n.end.offset,a=n.start.offset<o.end.offset&&o.end.offset<=n.end.offset,l=o.start.offset<=n.start.offset&&n.start.offset<o.end.offset,i=o.start.offset<n.end.offset&&n.end.offset<=o.end.offset;if(s||a||l||i){if(s&&a||l&&i||l&&n.start.offset===n.end.offset||a&&o.start.offset===o.end.offset)continue;throw new C(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function kn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(kn).join(""):""}const rs=[bn()];function Le(e){const t=os(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...rs]}function os(e){const t=[],n=[],r=[];for(const o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":n.push(o);break;default:r.push(o)}return{pre:t,post:n,normal:r}}var q=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],at={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function ss(e,t){const n=e.indexOf("\x1B",t);if(n!==-1&&e[n+1]==="["){const r=e.indexOf("m",n);if(r!==-1)return{sequence:e.substring(n+2,r).split(";"),startPosition:n,position:r+1}}return{position:e.length}}function _n(e){const t=e.shift();if(t==="2"){const n=e.splice(0,3).map(r=>Number.parseInt(r));return n.length!==3||n.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function as(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)at[r]&&t.push({type:"setDecoration",value:at[r]});else if(r<=29){const o=at[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:q[r-30]}});else if(r===38){const o=_n(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:q[r-40]}});else if(r===48){const o=_n(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:q[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:q[r-100+8]}})}return t}function is(){let e=null,t=null,n=new Set;return{parse(r){const o=[];let s=0;do{const a=ss(r,s),l=a.sequence?r.substring(s,a.startPosition):r.substring(s);if(l.length>0&&o.push({value:l,foreground:e,background:t,decorations:new Set(n)}),a.sequence){const i=as(a.sequence);for(const c of i)c.type==="resetAll"?(e=null,t=null,n.clear()):c.type==="resetForegroundColor"?e=null:c.type==="resetBackgroundColor"?t=null:c.type==="resetDecoration"&&n.delete(c.value);for(const c of i)c.type==="setForegroundColor"?e=c.value:c.type==="setBackgroundColor"?t=c.value:c.type==="setDecoration"&&n.add(c.value)}s=a.position}while(s<r.length);return o}}}var ls={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function cs(e=ls){function t(l){return e[l]}function n(l){return`#${l.map(i=>Math.max(0,Math.min(i,255)).toString(16).padStart(2,"0")).join("")}`}let r;function o(){if(r)return r;r=[];for(let c=0;c<q.length;c++)r.push(t(q[c]));let l=[0,95,135,175,215,255];for(let c=0;c<6;c++)for(let h=0;h<6;h++)for(let u=0;u<6;u++)r.push(n([l[c],l[h],l[u]]));let i=8;for(let c=0;c<24;c++,i+=10)r.push(n([i,i,i]));return r}function s(l){return o()[l]}function a(l){switch(l.type){case"named":return t(l.name);case"rgb":return n(l.rgb);case"table":return s(l.index)}}return{value:a}}const us=/#([0-9a-f]{3,8})/i,hs=/var\((--[\w-]+-ansi-[\w-]+)\)/,ds={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function Sn(e,t,n){const r=ie(e,n),o=ue(t),s=cs(Object.fromEntries(q.map(l=>{var i;const c=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`;return[l,((i=e.colors)==null?void 0:i[c])||ds[l]]}))),a=is();return o.map(l=>a.parse(l[0]).map(i=>{let c,h;i.decorations.has("reverse")?(c=i.background?s.value(i.background):e.bg,h=i.foreground?s.value(i.foreground):e.fg):(c=i.foreground?s.value(i.foreground):e.fg,h=i.background?s.value(i.background):void 0),c=j(c,r),h=j(h,r),i.decorations.has("dim")&&(c=ps(c));let u=L.None;return i.decorations.has("bold")&&(u|=L.Bold),i.decorations.has("italic")&&(u|=L.Italic),i.decorations.has("underline")&&(u|=L.Underline),i.decorations.has("strikethrough")&&(u|=L.Strikethrough),{content:i.value,offset:l[1],color:c,bgColor:h,fontStyle:u}}))}function ps(e){const t=e.match(us);if(t){const r=t[1];if(r.length===8){const o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){const o=r[0],s=r[1],a=r[2],l=r[3];return`#${o}${o}${s}${s}${a}${a}${Math.round(Number.parseInt(`${l}${l}`,16)/2).toString(16).padStart(2,"0")}`}else if(r.length===3){const o=r[0],s=r[1],a=r[2];return`#${o}${o}${s}${s}${a}${a}80`}}}const n=e.match(hs);return n?`var(${n[1]}-dim)`:e}function me(e,t,n={}){const r=e.resolveLangAlias(n.lang||"text"),{theme:o=e.getLoadedThemes()[0]}=n;if(!le(r)&&!ce(o)&&r==="ansi"){const{theme:s}=e.setTheme(o);return Sn(s,t,n)}return Wt(e,t,n)}function J(e,t,n){let r,o,s,a,l,i;if("themes"in n){const{defaultColor:c="light",cssVariablePrefix:h="--shiki-",colorsRendering:u="css-vars"}=n,d=Object.entries(n.themes).filter(b=>b[1]).map(b=>({color:b[0],theme:b[1]})).sort((b,y)=>b.color===c?-1:y.color===c?1:0);if(d.length===0)throw new C("`themes` option must not be empty");const g=Pe(e,t,n,me);if(i=de(g),c&&c!=="light-dark()"&&!d.some(b=>b.color===c))throw new C(`\`themes\` option must contain the defaultColor key \`${c}\``);const f=d.map(b=>e.getTheme(b.theme)),_=d.map(b=>b.color);s=g.map(b=>b.map(y=>yn(y,_,h,c,u))),i&&Ne(s,i);const S=d.map(b=>ie(b.theme,n));o=vn(d,f,S,h,c,"fg",u),r=vn(d,f,S,h,c,"bg",u),a=`shiki-themes ${f.map(b=>b.name).join(" ")}`,l=c?void 0:[o,r].join(";")}else if("theme"in n){const c=ie(n.theme,n);s=me(e,t,n);const h=e.getTheme(n.theme);r=j(h.bg,c),o=j(h.fg,c),a=h.name,i=de(s)}else throw new C("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:o,bg:r,themeName:a,rootStyle:l,grammarState:i}}function vn(e,t,n,r,o,s,a){return e.map((l,i)=>{const c=j(t[i][s],n[i])||"inherit",h=`${r+l.color}${s==="bg"?"-bg":""}:${c}`;if(i===0&&o){if(o==="light-dark()"&&e.length>1){const u=e.findIndex(g=>g.color==="light"),d=e.findIndex(g=>g.color==="dark");if(u===-1||d===-1)throw new C('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${j(t[u][s],n[u])||"inherit"}, ${j(t[d][s],n[d])||"inherit"});${h}`}return c}return a==="css-vars"?h:null}).filter(l=>!!l).join(";")}const wn=/^\s+$/,gs=/^(\s*)(.*?)(\s*)$/;function Q(e,t,n,r={meta:{},options:n,codeToHast:(o,s)=>Q(e,o,s),codeToTokens:(o,s)=>J(e,o,s)}){var o,s;let a=t;for(const S of Le(n))a=((o=S.preprocess)==null?void 0:o.call(r,a,n))||a;let{tokens:l,fg:i,bg:c,themeName:h,rootStyle:u,grammarState:d}=J(e,a,n);const{mergeWhitespaces:g=!0,mergeSameStyleTokens:f=!1}=n;g===!0?l=ms(l):g==="never"&&(l=fs(l)),f&&(l=ys(l));const _={...r,get source(){return a}};for(const S of Le(n))l=((s=S.tokens)==null?void 0:s.call(_,l))||l;return Cn(l,{...n,fg:i,bg:c,themeName:h,rootStyle:n.rootStyle===!1?!1:n.rootStyle??u},_,d)}function Cn(e,t,n,r=de(e)){var o,s,a,l;const i=Le(t),c=[],h={type:"root",children:[]},{structure:u="classic",tabindex:d="0"}=t,g={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?g.style=t.rootStyle:g.style=`background-color:${t.bg};color:${t.fg}`),d!==!1&&d!=null&&(g.tabindex=d.toString());for(const[k,w]of Object.entries(t.meta||{}))k.startsWith("_")||(g[k]=w);let f={type:"element",tagName:"pre",properties:g,children:[],data:t.data},_={type:"element",tagName:"code",properties:{},children:c};const S=[],b={...n,structure:u,addClassToHast:st,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return h},get pre(){return f},get code(){return _},get lines(){return S}};if(e.forEach((k,w)=>{var T,P;w&&(u==="inline"?h.children.push({type:"element",tagName:"br",properties:{},children:[]}):u==="classic"&&c.push({type:"text",value:`
12
- `}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},Z=0;for(const B of k){let F={type:"element",tagName:"span",properties:{...B.htmlAttrs},children:[{type:"text",value:B.content}]};const z=Re(B.htmlStyle||ge(B));z&&(F.properties.style=z);for(const ee of i)F=((T=ee?.span)==null?void 0:T.call(b,F,w+1,Z,x,B))||F;u==="inline"?h.children.push(F):u==="classic"&&x.children.push(F),Z+=B.content.length}if(u==="classic"){for(const B of i)x=((P=B?.line)==null?void 0:P.call(b,x,w+1))||x;S.push(x),c.push(x)}else u==="inline"&&S.push(x)}),u==="classic"){for(const k of i)_=((o=k?.code)==null?void 0:o.call(b,_))||_;f.children.push(_);for(const k of i)f=((s=k?.pre)==null?void 0:s.call(b,f))||f;h.children.push(f)}else if(u==="inline"){const k=[];let w={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const P of h.children)P.type==="element"&&P.tagName==="br"?(k.push(w),w={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(P.type==="element"||P.type==="text")&&w.children.push(P);k.push(w);let T={type:"element",tagName:"code",properties:{},children:k};for(const P of i)T=((a=P?.code)==null?void 0:a.call(b,T))||T;h.children=[];for(let P=0;P<T.children.length;P++){P>0&&h.children.push({type:"element",tagName:"br",properties:{},children:[]});const x=T.children[P];x.type==="element"&&h.children.push(...x.children)}}let y=h;for(const k of i)y=((l=k?.root)==null?void 0:l.call(b,y))||y;return r&&Ne(y,r),y}function ms(e){return e.map(t=>{const n=[];let r="",o;return t.forEach((s,a)=>{const l=!(s.fontStyle&&(s.fontStyle&L.Underline||s.fontStyle&L.Strikethrough));l&&wn.test(s.content)&&t[a+1]?(o===void 0&&(o=s.offset),r+=s.content):r?(l?n.push({...s,offset:o,content:r+s.content}):n.push({content:r,offset:o},s),o=void 0,r=""):n.push(s)}),n})}function fs(e){return e.map(t=>t.flatMap(n=>{if(wn.test(n.content))return n;const r=n.content.match(gs);if(!r)return n;const[,o,s,a]=r;if(!o&&!a)return n;const l=[{...n,offset:n.offset+o.length,content:s}];return o&&l.unshift({content:o,offset:n.offset}),a&&l.push({content:a,offset:n.offset+o.length+s.length}),l}))}function ys(e){return e.map(t=>{const n=[];for(const r of t){if(n.length===0){n.push({...r});continue}const o=n.at(-1),s=Re(o.htmlStyle||ge(o)),a=Re(r.htmlStyle||ge(r)),l=o.fontStyle&&(o.fontStyle&L.Underline||o.fontStyle&L.Strikethrough),i=r.fontStyle&&(r.fontStyle&L.Underline||r.fontStyle&L.Strikethrough);!l&&!i&&s===a?o.content+=r.content:n.push({...r})}return n})}const Nn=Yo;function it(e,t,n){var r;const o={meta:{},options:n,codeToHast:(a,l)=>Q(e,a,l),codeToTokens:(a,l)=>J(e,a,l)};let s=Nn(Q(e,t,n,o));for(const a of Le(n))s=((r=a.postprocess)==null?void 0:r.call(o,s,n))||s;return s}async function lt(e){const t=await He(e);return{getLastGrammarState:(...n)=>Ye(t,...n),codeToTokensBase:(n,r)=>me(t,n,r),codeToTokensWithThemes:(n,r)=>Pe(t,n,r),codeToTokens:(n,r)=>J(t,n,r),codeToHast:(n,r)=>Q(t,n,r),codeToHtml:(n,r)=>it(t,n,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function bs(e){const t=Ce(e);return{getLastGrammarState:(...n)=>Ye(t,...n),codeToTokensBase:(n,r)=>me(t,n,r),codeToTokensWithThemes:(n,r)=>Pe(t,n,r),codeToTokens:(n,r)=>J(t,n,r),codeToHast:(n,r)=>Q(t,n,r),codeToHtml:(n,r)=>it(t,n,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Tn(e){let t;async function n(r){if(t){const o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else return t=e({...r,themes:r.themes||[],langs:r.langs||[]}),t}return n}const ks=Tn(lt);function _s(e){const t=e.langs,n=e.themes,r=e.engine;async function o(s){function a(u){var d;if(typeof u=="string"){if(u=((d=s.langAlias)==null?void 0:d[u])||u,qe(u))return[];const g=t[u];if(!g)throw new C(`Language \`${u}\` is not included in this bundle. You may want to load it from external source.`);return g}return u}function l(u){if(ze(u))return"none";if(typeof u=="string"){const d=n[u];if(!d)throw new C(`Theme \`${u}\` is not included in this bundle. You may want to load it from external source.`);return d}return u}const i=(s.themes??[]).map(u=>l(u)),c=(s.langs??[]).map(u=>a(u)),h=await lt({engine:s.engine??r(),...s,themes:i,langs:c});return{...h,loadLanguage(...u){return h.loadLanguage(...u.map(a))},loadTheme(...u){return h.loadTheme(...u.map(l))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return o}function Pn(e){let t;async function n(r={}){if(t){const o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});const o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return n}function Ss(e,t){const n=Pn(e);async function r(o,s){var a;const l=await n({langs:[s.lang],themes:"theme"in s?[s.theme]:Object.values(s.themes)}),i=await((a=t?.guessEmbeddedLanguages)==null?void 0:a.call(t,o,s.lang,l));return i&&await l.loadLanguage(...i),l}return{getSingletonHighlighter(o){return n(o)},async codeToHtml(o,s){return(await r(o,s)).codeToHtml(o,s)},async codeToHast(o,s){return(await r(o,s)).codeToHast(o,s)},async codeToTokens(o,s){return(await r(o,s)).codeToTokens(o,s)},async codeToTokensBase(o,s){return(await r(o,s)).codeToTokensBase(o,s)},async codeToTokensWithThemes(o,s){return(await r(o,s)).codeToTokensWithThemes(o,s)},async getLastGrammarState(o,s){return(await n({langs:[s.lang],themes:[s.theme]})).getLastGrammarState(o,s)}}}function vs(e={}){var t;const{name:n="css-variables",variablePrefix:r="--shiki-",fontStyle:o=!0}=e,s=l=>{var i;return(i=e.variableDefaults)!=null&&i[l]?`var(${r}${l}, ${e.variableDefaults[l]})`:`var(${r}${l})`},a={name:n,type:"dark",colors:{"editor.foreground":s("foreground"),"editor.background":s("background"),"terminal.ansiBlack":s("ansi-black"),"terminal.ansiRed":s("ansi-red"),"terminal.ansiGreen":s("ansi-green"),"terminal.ansiYellow":s("ansi-yellow"),"terminal.ansiBlue":s("ansi-blue"),"terminal.ansiMagenta":s("ansi-magenta"),"terminal.ansiCyan":s("ansi-cyan"),"terminal.ansiWhite":s("ansi-white"),"terminal.ansiBrightBlack":s("ansi-bright-black"),"terminal.ansiBrightRed":s("ansi-bright-red"),"terminal.ansiBrightGreen":s("ansi-bright-green"),"terminal.ansiBrightYellow":s("ansi-bright-yellow"),"terminal.ansiBrightBlue":s("ansi-bright-blue"),"terminal.ansiBrightMagenta":s("ansi-bright-magenta"),"terminal.ansiBrightCyan":s("ansi-bright-cyan"),"terminal.ansiBrightWhite":s("ansi-bright-white")},tokenColors:[{scope:["keyword.operator.accessor","meta.group.braces.round.function.arguments","meta.template.expression","markup.fenced_code meta.embedded.block"],settings:{foreground:s("foreground")}},{scope:"emphasis",settings:{fontStyle:"italic"}},{scope:["strong","markup.heading.markdown","markup.bold.markdown"],settings:{fontStyle:"bold"}},{scope:["markup.italic.markdown"],settings:{fontStyle:"italic"}},{scope:"meta.link.inline.markdown",settings:{fontStyle:"underline",foreground:s("token-link")}},{scope:["string","markup.fenced_code","markup.inline"],settings:{foreground:s("token-string")}},{scope:["comment","string.quoted.docstring.multi"],settings:{foreground:s("token-comment")}},{scope:["constant.numeric","constant.language","constant.other.placeholder","constant.character.format.placeholder","variable.language.this","variable.other.object","variable.other.class","variable.other.constant","meta.property-name","meta.property-value","support"],settings:{foreground:s("token-constant")}},{scope:["keyword","storage.modifier","storage.type","storage.control.clojure","entity.name.function.clojure","entity.name.tag.yaml","support.function.node","support.type.property-name.json","punctuation.separator.key-value","punctuation.definition.template-expression"],settings:{foreground:s("token-keyword")}},{scope:"variable.parameter.function",settings:{foreground:s("token-parameter")}},{scope:["support.function","entity.name.type","entity.other.inherited-class","meta.function-call","meta.instance.constructor","entity.other.attribute-name","entity.name.function","constant.keyword.clojure"],settings:{foreground:s("token-function")}},{scope:["entity.name.tag","string.quoted","string.regexp","string.interpolated","string.template","string.unquoted.plain.out.yaml","keyword.other.template"],settings:{foreground:s("token-string-expression")}},{scope:["punctuation.definition.arguments","punctuation.definition.dict","punctuation.separator","meta.function-call.arguments"],settings:{foreground:s("token-punctuation")}},{scope:["markup.underline.link","punctuation.definition.metadata.markdown"],settings:{foreground:s("token-link")}},{scope:["beginning.punctuation.definition.list.markdown"],settings:{foreground:s("token-string")}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:s("token-keyword")}},{scope:["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],settings:{foreground:s("token-inserted")}},{scope:["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],settings:{foreground:s("token-deleted")}},{scope:["markup.changed","punctuation.definition.changed"],settings:{foreground:s("token-changed")}}]};return o||(a.tokenColors=(t=a.tokenColors)==null?void 0:t.map(l=>{var i;return(i=l.settings)!=null&&i.fontStyle&&delete l.settings.fontStyle,l})),a}export{C as ShikiError,st as addClassToHast,j as applyColorReplacements,Q as codeToHast,it as codeToHtml,J as codeToTokens,me as codeToTokensBase,Pe as codeToTokensWithThemes,_s as createBundledHighlighter,vs as createCssVariablesTheme,lt as createHighlighterCore,bs as createHighlighterCoreSync,gn as createPositionConverter,wr as createShikiInternal,vr as createShikiInternalSync,Ce as createShikiPrimitive,He as createShikiPrimitiveAsync,Ss as createSingletonShorthands,yn as flatTokenVariants,Ye as getLastGrammarState,ks as getSingletonHighlighterCore,ge as getTokenStyleObject,es as guessEmbeddedLanguages,Nn as hastToHtml,ce as isNoneTheme,le as isPlainLang,qe as isSpecialLang,ze as isSpecialTheme,Pn as makeSingletonHighlighter,Tn as makeSingletonHighlighterCore,Ue as normalizeGetter,we as normalizeTheme,ie as resolveColorReplacements,ue as splitLines,mn as splitToken,fn as splitTokens,Re as stringifyTokenStyle,Ot as toArray,Sn as tokenizeAnsiWithTheme,Ut as tokenizeWithTheme,Cn as tokensToHast,bn as transformerDecorations};
1
+ export * from "./core-AYMC6_lb.js";
@@ -1,141 +1 @@
1
- var Pn=Object.defineProperty,Fn=Object.getPrototypeOf,Un=Reflect.get,De=e=>{throw TypeError(e)},Bn=(e,n,t)=>n in e?Pn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ie=(e,n,t)=>Bn(e,typeof n!="symbol"?n+"":n,t),me=(e,n,t)=>n.has(e)||De("Cannot "+t),E=(e,n,t)=>(me(e,n,"read from private field"),t?t.call(e):n.get(e)),X=(e,n,t)=>n.has(e)?De("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),L=(e,n,t,r)=>(me(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),Oe=(e,n,t)=>(me(e,n,"access private method"),t),Gn=(e,n,t)=>Un(Fn(e),t,n),be=class{constructor(e,n={}){ie(this,"patterns"),ie(this,"options"),ie(this,"regexps"),this.patterns=e,this.options=n;const{forgiving:t=!1,cache:r,regexConstructor:a}=n;if(!a)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(o=>{if(typeof o!="string")return o;const s=r?.get(o);if(s){if(s instanceof RegExp)return s;if(t)return null;throw s}try{const i=a(o);return r?.set(o,i),i}catch(i){if(r?.set(o,i),t)return null;throw i}})}findNextMatchSync(e,n,t){const r=typeof e=="string"?e:e.content,a=[];function o(s,i,u=0){return{index:s,captureIndices:i.indices.map(c=>c==null?{start:4294967295,end:4294967295,length:0}:{start:c[0]+u,end:c[1]+u,length:c[1]-c[0]})}}for(let s=0;s<this.regexps.length;s++){const i=this.regexps[s];if(i)try{i.lastIndex=n;const u=i.exec(r);if(!u)continue;if(u.index===n)return o(s,u,0);a.push([s,u,0])}catch(u){if(this.options.forgiving)continue;throw u}}if(a.length){const s=Math.min(...a.map(i=>i[1].index));for(const[i,u,c]of a)if(u.index===s)return o(i,u,c)}return null}};function Z(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Dn(e,n,t){return e.has(n)||e.set(n,t),e.get(n)}const Ce=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),x=String.raw;function Q(e,n){if(e==null)throw new Error(n??"Value expected");return e}const Te=x`\[\^?`,We=`c.? | C(?:-.?)?|${x`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${x`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${x`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${x`o\{[^\}]*\}?`}|${x`\d{1,3}`}`,xe=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,ue=new RegExp(x`
2
- \\ (?:
3
- ${We}
4
- | [gk]<[^>]*>?
5
- | [gk]'[^']*'?
6
- | .
7
- )
8
- | \( (?:
9
- \? (?:
10
- [:=!>({]
11
- | <[=!]
12
- | <[^>]*>
13
- | '[^']*'
14
- | ~\|?
15
- | #(?:[^)\\]|\\.?)*
16
- | [^:)]*[:)]
17
- )?
18
- | \*[^\)]*\)?
19
- )?
20
- | (?:${xe.source})+
21
- | ${Te}
22
- | .
23
- `.replace(/\s+/g,""),"gsu"),ke=new RegExp(x`
24
- \\ (?:
25
- ${We}
26
- | .
27
- )
28
- | \[:(?:\^?\p{Alpha}+|\^):\]
29
- | ${Te}
30
- | &&
31
- | .
32
- `.replace(/\s+/g,""),"gsu");function On(e,n={}){const t={flags:"",...n,rules:{captureGroup:!1,singleline:!1,...n.rules}};if(typeof e!="string")throw new Error("String expected as pattern");const r=at(t.flags),a=[r.extended],o={captureGroup:t.rules.captureGroup,getCurrentModX(){return a.at(-1)},numOpenGroups:0,popModX(){a.pop()},pushModX(l){a.push(l)},replaceCurrentModX(l){a[a.length-1]=l},singleline:t.rules.singleline};let s=[],i;for(ue.lastIndex=0;i=ue.exec(e);){const l=Tn(o,e,i[0],ue.lastIndex);l.tokens?s.push(...l.tokens):l.token&&s.push(l.token),l.lastIndex!==void 0&&(ue.lastIndex=l.lastIndex)}const u=[];let c=0;s.filter(l=>l.type==="GroupOpen").forEach(l=>{l.kind==="capturing"?l.number=++c:l.raw==="("&&u.push(l)}),c||u.forEach((l,d)=>{l.kind="capturing",l.number=d+1});const p=c||u.length;return{tokens:s.map(l=>l.type==="EscapedNumber"?it(l,p):l).flat(),flags:r}}function Tn(e,n,t,r){const[a,o]=t;if(t==="["||t==="[^"){const s=Wn(n,t,r);return{tokens:s.tokens,lastIndex:s.lastIndex}}if(a==="\\"){if("AbBGyYzZ".includes(o))return{token:Ve(t,t)};if(/^\\g[<']/.test(t)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(t))throw new Error(`Invalid group name "${t}"`);return{token:Kn(t)}}if(/^\\k[<']/.test(t)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(t))throw new Error(`Invalid group name "${t}"`);return{token:je(t)}}if(o==="K")return{token:Xe("keep",t)};if(o==="N"||o==="R")return{token:O("newline",t,{negate:o==="N"})};if(o==="O")return{token:O("any",t)};if(o==="X")return{token:O("text_segment",t)};const s=ze(t,{inCharClass:!1});return Array.isArray(s)?{tokens:s}:{token:s}}if(a==="("){if(o==="*")return{token:tt(t)};if(t==="(?{")throw new Error(`Unsupported callout "${t}"`);if(t.startsWith("(?#")){if(n[r]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(t))return{token:nt(t,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,t==="("&&!e.captureGroup||t==="(?:")return{token:q("group",t)};if(t==="(?>")return{token:q("atomic",t)};if(t==="(?="||t==="(?!"||t==="(?<="||t==="(?<!")return{token:q(t[2]==="<"?"lookbehind":"lookahead",t,{negate:t.endsWith("!")})};if(t==="("&&e.captureGroup||t.startsWith("(?<")&&t.endsWith(">")||t.startsWith("(?'")&&t.endsWith("'"))return{token:q("capturing",t,{...t!=="("&&{name:t.slice(3,-1)}})};if(t.startsWith("(?~")){if(t==="(?~|")throw new Error(`Unsupported absence function kind "${t}"`);return{token:q("absence_repeater",t)}}throw t==="(?("?new Error(`Unsupported conditional "${t}"`):new Error(`Invalid or unsupported group option "${t}"`)}if(t===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:Qn(t)}}if(e.getCurrentModX()){if(t==="#"){const s=n.indexOf(`
33
- `,r);return{lastIndex:s===-1?n.length:s}}if(/^\s$/.test(t)){const s=/\s+/y;return s.lastIndex=r,{lastIndex:s.exec(n)?s.lastIndex:r}}}if(t===".")return{token:O("dot",t)};if(t==="^"||t==="$"){const s=e.singleline?{"^":x`\A`,$:x`\Z`}[t]:t;return{token:Ve(s,t)}}return t==="|"?{token:Vn(t)}:xe.test(t)?{tokens:ut(t)}:{token:R(Z(t),t)}}function Wn(e,n,t){const r=[He(n[1]==="^",n)];let a=1,o;for(ke.lastIndex=t;o=ke.exec(e);){const s=o[0];if(s[0]==="["&&s[1]!==":")a++,r.push(He(s[1]==="^",s));else if(s==="]"){if(r.at(-1).type==="CharacterClassOpen")r.push(R(93,s));else if(a--,r.push(jn(s)),!a)break}else{const i=zn(s);Array.isArray(i)?r.push(...i):r.push(i)}}return{tokens:r,lastIndex:ke.lastIndex||e.length}}function zn(e){if(e[0]==="\\")return ze(e,{inCharClass:!0});if(e[0]==="["){const n=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!n||!Ce.has(n.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return O("posix",e,{value:n.groups.name,negate:!!n.groups.negate})}return e==="-"?Hn(e):e==="&&"?Xn(e):R(Z(e),e)}function ze(e,{inCharClass:n}){const t=e[1];if(t==="c"||t==="C")return et(e);if("dDhHsSwW".includes(t))return rt(e);if(e.startsWith(x`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return ot(e)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(e))try{const r=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),a=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(r)),o=new TextEncoder;return[...a].map(s=>{const i=[...o.encode(s)].map(u=>`\\x${u.toString(16)}`).join("");return R(Z(s),i)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(t==="u"||t==="x")return R(st(e),e);if(Ze.has(t))return R(Ze.get(t),e);if(/\d/.test(t))return Zn(n,e);if(e==="\\")throw new Error(x`Incomplete escape "\"`);if(t==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return R(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function Vn(e){return{type:"Alternator",raw:e}}function Ve(e,n){return{type:"Assertion",kind:e,raw:n}}function je(e){return{type:"Backreference",raw:e}}function R(e,n){return{type:"Character",value:e,raw:n}}function jn(e){return{type:"CharacterClassClose",raw:e}}function Hn(e){return{type:"CharacterClassHyphen",raw:e}}function Xn(e){return{type:"CharacterClassIntersector",raw:e}}function He(e,n){return{type:"CharacterClassOpen",negate:e,raw:n}}function O(e,n,t={}){return{type:"CharacterSet",kind:e,...t,raw:n}}function Xe(e,n,t={}){return e==="keep"?{type:"Directive",kind:e,raw:n}:{type:"Directive",kind:e,flags:Q(t.flags),raw:n}}function Zn(e,n){return{type:"EscapedNumber",inCharClass:e,raw:n}}function Qn(e){return{type:"GroupClose",raw:e}}function q(e,n,t={}){return{type:"GroupOpen",kind:e,...t,raw:n}}function qn(e,n,t,r){return{type:"NamedCallout",kind:e,tag:n,arguments:t,raw:r}}function Jn(e,n,t,r){return{type:"Quantifier",kind:e,min:n,max:t,raw:r}}function Kn(e){return{type:"Subroutine",raw:e}}const Yn=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),Ze=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function et(e){const n=e[1]==="c"?e[2]:e[3];if(!n||!/[A-Za-z]/.test(n))throw new Error(`Unsupported control character "${e}"`);return R(Z(n.toUpperCase())-64,e)}function nt(e,n){let{on:t,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??(r="");const a=(n.getCurrentModX()||t.includes("x"))&&!r.includes("x"),o=qe(t),s=qe(r),i={};if(o&&(i.enable=o),s&&(i.disable=s),e.endsWith(")"))return n.replaceCurrentModX(a),Xe("flags",e,{flags:i});if(e.endsWith(":"))return n.pushModX(a),n.numOpenGroups++,q("group",e,{...(o||s)&&{flags:i}});throw new Error(`Unexpected flag modifier "${e}"`)}function tt(e){const n=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!n)throw new Error(`Incomplete or invalid named callout "${e}"`);const{name:t,tag:r,args:a}=n.groups;if(!t)throw new Error(`Invalid named callout "${e}"`);if(r==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);const o=a?a.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[s,i,u]=o,c=Yn.has(t)?t.toLowerCase():"custom";switch(c){case"fail":case"mismatch":case"skip":if(o.length>0)throw new Error(`Named callout arguments not allowed "${o}"`);break;case"error":if(o.length>1)throw new Error(`Named callout allows only one argument "${o}"`);if(typeof s=="string")throw new Error(`Named callout argument must be a number "${s}"`);break;case"max":if(!o.length||o.length>2)throw new Error(`Named callout must have one or two arguments "${o}"`);if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error(`Named callout argument one must be a tag or number "${s}"`);if(o.length===2&&(typeof i=="number"||!/^[<>X]$/.test(i)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${i}"`);break;case"count":case"total_count":if(o.length>1)throw new Error(`Named callout allows only one argument "${o}"`);if(o.length===1&&(typeof s=="number"||!/^[<>X]$/.test(s)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${s}"`);break;case"cmp":if(o.length!==3)throw new Error(`Named callout must have three arguments "${o}"`);if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error(`Named callout argument one must be a tag or number "${s}"`);if(typeof i=="number"||!/^(?:[<>!=]=|[<>])$/.test(i))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${i}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument three must be a tag or number "${u}"`);break;case"custom":throw new Error(`Undefined callout name "${t}"`);default:throw new Error(`Unexpected named callout kind "${c}"`)}return qn(c,r??null,a?.split(",")??null,e)}function Qe(e){let n=null,t,r;if(e[0]==="{"){const{minStr:a,maxStr:o}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,s=1e5;if(+a>s||o&&+o>s)throw new Error("Quantifier value unsupported in Oniguruma");if(t=+a,r=o===void 0?+a:o===""?1/0:+o,t>r&&(n="possessive",[t,r]=[r,t]),e.endsWith("?")){if(n==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');n="lazy"}else n||(n="greedy")}else t=e[0]==="+"?1:0,r=e[0]==="?"?1:1/0,n=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return Jn(n,t,r,e)}function rt(e){const n=e[1].toLowerCase();return O({d:"digit",h:"hex",s:"space",w:"word"}[n],e,{negate:e[1]!==n})}function ot(e){const{p:n,neg:t,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return O("property",e,{value:r,negate:n==="P"&&!t||n==="p"&&!!t})}function qe(e){const n={};return e.includes("i")&&(n.ignoreCase=!0),e.includes("m")&&(n.dotAll=!0),e.includes("x")&&(n.extended=!0),Object.keys(n).length?n:null}function at(e){const n={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let t=0;t<e.length;t++){const r=e[t];if(!"imxDPSWy".includes(r))throw new Error(`Invalid flag "${r}"`);if(r==="y"){if(!/^y{[gw]}/.test(e.slice(t)))throw new Error('Invalid or unspecified flag "y" mode');n.textSegmentMode=e[t+2]==="g"?"grapheme":"word",t+=3;continue}n[{i:"ignoreCase",m:"dotAll",x:"extended",D:"digitIsAscii",P:"posixIsAscii",S:"spaceIsAscii",W:"wordIsAscii"}[r]]=!0}return n}function st(e){if(new RegExp("^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))","u").test(e))throw new Error(`Incomplete or invalid escape "${e}"`);const n=e[2]==="{"?new RegExp("^\\\\x\\{\\s*(?<hex>\\p{AHex}+)","u").exec(e).groups.hex:e.slice(2);return parseInt(n,16)}function it(e,n){const{raw:t,inCharClass:r}=e,a=t.slice(1);if(!r&&(a!=="0"&&a.length===1||a[0]!=="0"&&+a<=n))return[je(t)];const o=[],s=a.match(/^[0-7]+|\d/g);for(let i=0;i<s.length;i++){const u=s[i];let c;if(i===0&&u!=="8"&&u!=="9"){if(c=parseInt(u,8),c>127)throw new Error(x`Octal encoded byte above 177 unsupported "${t}"`)}else c=Z(u);o.push(R(c,(i===0?"\\":"")+u))}return o}function ut(e){const n=[],t=new RegExp(xe,"gy");let r;for(;r=t.exec(e);){const a=r[0];if(a[0]==="{"){const o=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(a);if(o){const{min:s,max:i}=o.groups;if(+s>+i&&a.endsWith("?")){t.lastIndex--,n.push(Qe(a.slice(0,-1)));continue}}}n.push(Qe(a))}return n}function Je(e,n){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;const t=e.body[0];return!n||Object.keys(n).every(r=>n[r]===t[r])}function ct(e){return lt.has(e.type)}const lt=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function Ke(e,n={}){const t={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...n,rules:{captureGroup:!1,singleline:!1,...n.rules}},r=On(e,{flags:t.flags,rules:{captureGroup:t.rules.captureGroup,singleline:t.rules.singleline}}),a=(d,g)=>{const f=r.tokens[o.nextIndex];switch(o.parent=d,o.nextIndex++,f.type){case"Alternator":return T();case"Assertion":return pt(f);case"Backreference":return dt(f,o);case"Character":return ce(f.value,{useLastValid:!!g.isCheckingRangeEnd});case"CharacterClassHyphen":return ft(f,o,g);case"CharacterClassOpen":return gt(f,o,g);case"CharacterSet":return ht(f,o);case"Directive":return xt(f.kind,{flags:f.flags});case"GroupOpen":return wt(f,o,g);case"NamedCallout":return Et(f.kind,f.tag,f.arguments);case"Quantifier":return yt(f,o);case"Subroutine":return mt(f,o);default:throw new Error(`Unexpected token type "${f.type}"`)}},o={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:t.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:t.skipBackrefValidation,skipLookbehindValidation:t.skipLookbehindValidation,skipPropertyNameValidation:t.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:t.unicodePropertyMap,walk:a},s=vt(kt(r.flags));let i=s.body[0];for(;o.nextIndex<r.tokens.length;){const d=a(i,{});d.type==="Alternative"?(s.body.push(d),i=d):i.body.push(d)}const{capturingGroups:u,hasNumberedRef:c,namedGroupsByName:p,subroutines:l}=o;if(c&&p.size&&!t.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:d}of l)if(typeof d=="number"){if(d>u.length)throw new Error("Subroutine uses a group number that's not defined");d&&(u[d-1].isSubroutined=!0)}else if(p.has(d)){if(p.get(d).length>1)throw new Error(x`Subroutine uses a duplicate group name "\g<${d}>"`);p.get(d)[0].isSubroutined=!0}else throw new Error(x`Subroutine uses a group name that's not defined "\g<${d}>"`);return s}function pt({kind:e}){return Ee(Q({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],`Unexpected assertion kind "${e}"`),{negate:e===x`\B`||e===x`\Y`})}function dt({raw:e},n){const t=/^\\k[<']/.test(e),r=t?e.slice(3,-1):e.slice(1),a=(o,s=!1)=>{const i=n.capturingGroups.length;let u=!1;if(o>i)if(n.skipBackrefValidation)u=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return n.hasNumberedRef=!0,$e(s?i+1-o:o,{orphan:u})};if(t){const o=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(o)return a(+o.groups.num,!!o.groups.sign);if(/[-+]/.test(r))throw new Error(`Invalid backref name "${e}"`);if(!n.namedGroupsByName.has(r))throw new Error(`Group name not defined to the left "${e}"`);return $e(r)}return a(+r)}function ft(e,n,t){const{tokens:r,walk:a}=n,o=n.parent,s=o.body.at(-1),i=r[n.nextIndex];if(!t.isCheckingRangeEnd&&s&&s.type!=="CharacterClass"&&s.type!=="CharacterClassRange"&&i&&i.type!=="CharacterClassOpen"&&i.type!=="CharacterClassClose"&&i.type!=="CharacterClassIntersector"){const u=a(o,{...t,isCheckingRangeEnd:!0});if(s.type==="Character"&&u.type==="Character")return o.body.pop(),Ct(s,u);throw new Error("Invalid character class range")}return ce(Z("-"))}function gt({negate:e},n,t){const{tokens:r,walk:a}=n,o=[le()],s=r[n.nextIndex];let i=an(s);for(;i.type!=="CharacterClassClose";){if(i.type==="CharacterClassIntersector")o.push(le()),n.nextIndex++;else{const c=o.at(-1);c.body.push(a(c,t))}i=an(r[n.nextIndex],s)}const u=le({negate:e});return o.length===1?u.body=o[0].body:(u.kind="intersection",u.body=o.map(c=>c.body.length===1?c.body[0]:c)),n.nextIndex++,u}function ht({kind:e,negate:n,value:t},r){const{normalizeUnknownPropertyNames:a,skipPropertyNameValidation:o,unicodePropertyMap:s}=r;if(e==="property"){const i=pe(t);if(Ce.has(i)&&!(s!=null&&s.has(i)))e="posix",t=i;else return J(t,{negate:n,normalizeUnknownPropertyNames:a,skipPropertyNameValidation:o,unicodePropertyMap:s})}return e==="posix"?$t(t,{negate:n}):ve(e,{negate:n})}function wt(e,n,t){const{tokens:r,capturingGroups:a,namedGroupsByName:o,skipLookbehindValidation:s,walk:i}=n,u=At(e),c=u.type==="AbsenceFunction",p=on(u),l=p&&u.negate;if(u.type==="CapturingGroup"&&(a.push(u),u.name&&Dn(o,u.name,[]).push(u)),c&&t.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let d=sn(r[n.nextIndex]);for(;d.type!=="GroupClose";){if(d.type==="Alternator")u.body.push(T()),n.nextIndex++;else{const g=u.body.at(-1),f=i(g,{...t,isInAbsenceFunction:t.isInAbsenceFunction||c,isInLookbehind:t.isInLookbehind||p,isInNegLookbehind:t.isInNegLookbehind||l});if(g.body.push(f),(p||t.isInLookbehind)&&!s){const w="Lookbehind includes a pattern not allowed by Oniguruma";if(l||t.isInNegLookbehind){if(rn(f)||f.type==="CapturingGroup")throw new Error(w)}else if(rn(f)||on(f)&&f.negate)throw new Error(w)}}d=sn(r[n.nextIndex])}return n.nextIndex++,u}function yt({kind:e,min:n,max:t},r){const a=r.parent,o=a.body.at(-1);if(!o||!ct(o))throw new Error("Quantifier requires a repeatable token");const s=en(e,n,t,o);return a.body.pop(),s}function mt({raw:e},n){const{capturingGroups:t,subroutines:r}=n;let a=e.slice(3,-1);const o=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(a);if(o){const i=+o.groups.num,u=t.length;if(n.hasNumberedRef=!0,a={"":i,"+":u+i,"-":u+1-i}[o.groups.sign],a<1)throw new Error("Invalid subroutine number")}else a==="0"&&(a=0);const s=nn(a);return r.push(s),s}function bt(e,n){if(e!=="repeater")throw new Error(`Unexpected absence function kind "${e}"`);return{type:"AbsenceFunction",kind:e,body:re(n?.body)}}function T(e){return{type:"Alternative",body:tn(e?.body)}}function Ee(e,n){const t={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(t.negate=!!(n!=null&&n.negate)),t}function $e(e,n){const t=!!(n!=null&&n.orphan);return{type:"Backreference",ref:e,...t&&{orphan:t}}}function Ye(e,n){const t={name:void 0,isSubroutined:!1,...n};if(t.name!==void 0&&!It(t.name))throw new Error(`Group name "${t.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:e,...t.name&&{name:t.name},...t.isSubroutined&&{isSubroutined:t.isSubroutined},body:re(n?.body)}}function ce(e,n){const t={useLastValid:!1,...n};if(e>1114111){const r=e.toString(16);if(t.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${r}}"`):new Error(`Invalid code point out of range in JS "\\x{${r}}"`)}return{type:"Character",value:e}}function le(e){const n={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:n.kind,negate:n.negate,body:tn(e?.body)}}function Ct(e,n){if(n.value<e.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:e,max:n}}function ve(e,n){const t=!!(n!=null&&n.negate),r={type:"CharacterSet",kind:e};return(e==="digit"||e==="hex"||e==="newline"||e==="space"||e==="word")&&(r.negate=t),(e==="text_segment"||e==="newline"&&!t)&&(r.variableLength=!0),r}function xt(e,n={}){if(e==="keep")return{type:"Directive",kind:e};if(e==="flags")return{type:"Directive",kind:e,flags:Q(n.flags)};throw new Error(`Unexpected directive kind "${e}"`)}function kt(e){return{type:"Flags",...e}}function _(e){const n=e?.atomic,t=e?.flags;if(n&&t)throw new Error("Atomic group cannot have flags");return{type:"Group",...n&&{atomic:n},...t&&{flags:t},body:re(e?.body)}}function W(e){const n={behind:!1,negate:!1,...e};return{type:"LookaroundAssertion",kind:n.behind?"lookbehind":"lookahead",negate:n.negate,body:re(e?.body)}}function Et(e,n,t){return{type:"NamedCallout",kind:e,tag:n,arguments:t}}function $t(e,n){const t=!!(n!=null&&n.negate);if(!Ce.has(e))throw new Error(`Invalid POSIX class "${e}"`);return{type:"CharacterSet",kind:"posix",value:e,negate:t}}function en(e,n,t,r){if(n>t)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:n,max:t,body:r}}function vt(e,n){return{type:"Regex",body:re(n?.body),flags:e}}function nn(e){return{type:"Subroutine",ref:e}}function J(e,n){var t;const r={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...n};let a=(t=r.unicodePropertyMap)==null?void 0:t.get(pe(e));if(!a){if(r.normalizeUnknownPropertyNames)a=St(e);else if(r.unicodePropertyMap&&!r.skipPropertyNameValidation)throw new Error(x`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:a??e,negate:r.negate}}function At({flags:e,kind:n,name:t,negate:r,number:a}){switch(n){case"absence_repeater":return bt("repeater");case"atomic":return _({atomic:!0});case"capturing":return Ye(a,{name:t});case"group":return _({flags:e});case"lookahead":case"lookbehind":return W({behind:n==="lookbehind",negate:r});default:throw new Error(`Unexpected group kind "${n}"`)}}function re(e){if(e===void 0)e=[T()];else if(!Array.isArray(e)||!e.length||!e.every(n=>n.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function tn(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(n=>!!n.type))throw new Error("Invalid body; expected array of nodes");return e}function rn(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function on(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function It(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function St(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,n=>n[0].toUpperCase()+n.slice(1).toLowerCase())}function pe(e){return e.replace(/[- _]+/g,"").toLowerCase()}function an(e,n){const t=n;return Q(e,`Unclosed character class${t?.type==="Character"&&t.value===93&&t.raw==="]"?' (started with "]")':""}`)}function sn(e){return Q(e,"Unclosed group")}function oe(e,n,t=null){function r(o,s){for(let i=0;i<o.length;i++){const u=a(o[i],s,i,o);i=Math.max(-1,i+u)}}function a(o,s=null,i=null,u=null){var c,p;let l=0,d=!1;const g={node:o,parent:s,key:i,container:u,root:e,remove(){de(u).splice(Math.max(0,K(i)+l),1),l--,d=!0},removeAllNextSiblings(){return de(u).splice(K(i)+1)},removeAllPrevSiblings(){const m=K(i)+l;return l-=m,de(u).splice(0,Math.max(0,m))},replaceWith(m,k={}){const I=!!k.traverse;u?u[Math.max(0,K(i)+l)]=m:Q(s,"Can't replace root node")[i]=m,I&&a(m,s,i,u),d=!0},replaceWithMultiple(m,k={}){const I=!!k.traverse;if(de(u).splice(Math.max(0,K(i)+l),1,...m),l+=m.length-1,I){let D=0;for(let S=0;S<m.length;S++)D+=a(m[S],s,K(i)+S+D,u)}d=!0},skip(){d=!0}},{type:f}=o,w=n["*"],y=n[f],N=typeof w=="function"?w:w?.enter,$=typeof y=="function"?y:y?.enter;if(N?.(g,t),$?.(g,t),!d)switch(f){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":r(o.body,o);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":a(o.min,o,"min"),a(o.max,o,"max");break;case"Quantifier":a(o.body,o,"body");break;case"Regex":r(o.body,o),a(o.flags,o,"flags");break;default:throw new Error(`Unexpected node type "${f}"`)}return(c=y?.exit)==null||c.call(y,g,t),(p=w?.exit)==null||p.call(w,g,t),l}return a(e),e}function de(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function K(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}const _t=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function Mt(e,n){for(let t=0;t<e.length;t++)e[t]>=n&&e[t]++}function Nt(e,n,t,r){return e.slice(0,n)+r+e.slice(n+t.length)}const v=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function Ae(e,n,t,r){const a=new RegExp(String.raw`${n}|(?<$skip>\[\^?|\\?.)`,"gsu"),o=[!1];let s=0,i="";for(const u of e.matchAll(a)){const{0:c,groups:{$skip:p}}=u;if(!p&&(!r||r===v.DEFAULT==!s)){t instanceof Function?i+=t(u,{context:s?v.CHAR_CLASS:v.DEFAULT,negated:o[o.length-1]}):i+=t;continue}c[0]==="["?(s++,o.push(c[1]==="^")):c==="]"&&s&&(s--,o.pop()),i+=c}return i}function un(e,n,t,r){Ae(e,n,t,r)}function Lt(e,n,t=0,r){if(!new RegExp(n,"su").test(e))return null;const a=new RegExp(`${n}|(?<$skip>\\\\?.)`,"gsu");a.lastIndex=t;let o=0,s;for(;s=a.exec(e);){const{0:i,groups:{$skip:u}}=s;if(!u&&(!r||r===v.DEFAULT==!o))return s;i==="["?o++:i==="]"&&o&&o--,a.lastIndex==s.index&&a.lastIndex++}return null}function fe(e,n,t){return!!Lt(e,n,0,t)}function Rt(e,n){const t=/\\?./gsu;t.lastIndex=n;let r=e.length,a=0,o=1,s;for(;s=t.exec(e);){const[i]=s;if(i==="[")a++;else if(a)i==="]"&&a--;else if(i==="(")o++;else if(i===")"&&(o--,!o)){r=s.index;break}}return e.slice(n,r)}const cn=new RegExp(String.raw`(?<noncapturingStart>${_t})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function Pt(e,n){const t=n?.hiddenCaptures??[];let r=n?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:t};const a="(?>",o="(?:(?=(",s=[0],i=[];let u=0,c=0,p=NaN,l;do{l=!1;let d=0,g=0,f=!1,w;for(cn.lastIndex=Number.isNaN(p)?0:p+o.length;w=cn.exec(e);){const{0:y,index:N,groups:{capturingStart:$,noncapturingStart:m}}=w;if(y==="[")d++;else if(d)y==="]"&&d--;else if(y===a&&!f)p=N,f=!0;else if(f&&m)g++;else if($)f?g++:(u++,s.push(u+c));else if(y===")"&&f){if(!g){c++;const k=u+c;if(e=`${e.slice(0,p)}${o}${e.slice(p+a.length,N)}))<$$${k}>)${e.slice(N+1)}`,l=!0,i.push(k),Mt(t,k),r.size){const I=new Map;r.forEach((D,S)=>{I.set(S>=k?S+1:S,D.map(H=>H>=k?H+1:H))}),r=I}break}g--}}}while(l);return t.push(...i),e=Ae(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:d,groups:{backrefNum:g,wrappedBackrefNum:f}})=>{if(g){const w=+g;if(w>s.length-1)throw new Error(`Backref "${d}" greater than number of captures`);return`\\${s[w]}`}return`\\${f}`},v.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:t}}const ln=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Ie=new RegExp(String.raw`
34
- \\(?: \d+
35
- | c[A-Za-z]
36
- | [gk]<[^>]+>
37
- | [pPu]\{[^\}]+\}
38
- | u[A-Fa-f\d]{4}
39
- | x[A-Fa-f\d]{2}
40
- )
41
- | \((?: \? (?: [:=!>]
42
- | <(?:[=!]|[^>]+>)
43
- | [A-Za-z\-]+:
44
- | \(DEFINE\)
45
- ))?
46
- | (?<qBase>${ln})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
47
- | \\?.
48
- `.replace(/\s+/g,""),"gsu");function Ft(e){if(!new RegExp(`${ln}\\+`).test(e))return{pattern:e};const n=[];let t=null,r=null,a="",o=0,s;for(Ie.lastIndex=0;s=Ie.exec(e);){const{0:i,index:u,groups:{qBase:c,qMod:p,invalidQ:l}}=s;if(i==="[")o||(r=u),o++;else if(i==="]")o?o--:r=null;else if(!o)if(p==="+"&&a&&!a.startsWith("(")){if(l)throw new Error(`Invalid quantifier "${i}"`);let d=-1;if(/^\{\d+\}$/.test(c))e=Nt(e,u+c.length,p,"");else{if(a===")"||a==="]"){const g=a===")"?t:r;if(g===null)throw new Error(`Invalid unmatched "${a}"`);e=`${e.slice(0,g)}(?>${e.slice(g,u)}${c})${e.slice(u+i.length)}`}else e=`${e.slice(0,u-a.length)}(?>${a}${c})${e.slice(u+i.length)}`;d+=4}Ie.lastIndex+=d}else i[0]==="("?n.push(u):i===")"&&(t=n.length?n.pop():null);a=i}return{pattern:e}}const A=String.raw,Ut=A`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Se=A`\(\?R=(?<rDepth>[^\)]+)\)|${Ut}`,ge=A`\(\?<(?![=!])(?<captureName>[^>]+)>`,pn=A`${ge}|(?<unnamed>\()(?!\?)`,z=new RegExp(A`${ge}|${Se}|\(\?|\\?.`,"gsu"),_e="Cannot use multiple overlapping recursions";function Bt(e,n){const{hiddenCaptures:t,mode:r}={hiddenCaptures:[],mode:"plugin",...n};let a=n?.captureTransfers??new Map;if(!new RegExp(Se,"su").test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:t};if(r==="plugin"&&fe(e,A`\(\?\(DEFINE\)`,v.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const o=[],s=fe(e,A`\\[1-9]`,v.DEFAULT),i=new Map,u=[];let c=!1,p=0,l=0,d;for(z.lastIndex=0;d=z.exec(e);){const{0:g,groups:{captureName:f,rDepth:w,gRNameOrNum:y,gRDepth:N}}=d;if(g==="[")p++;else if(p)g==="]"&&p--;else if(w){if(dn(w),c)throw new Error(_e);if(s)throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const $=e.slice(0,d.index),m=e.slice(z.lastIndex);if(fe(m,Se,v.DEFAULT))throw new Error(_e);const k=+w-1;e=fn($,m,k,!1,t,o,l),a=hn(a,$,k,o.length,0,l);break}else if(y){dn(N);let $=!1;for(const te of u)if(te.name===y||te.num===+y){if($=!0,te.hasRecursedWithin)throw new Error(_e);break}if(!$)throw new Error(A`Recursive \g cannot be used outside the referenced group "${r==="external"?y:A`\g<${y}&R=${N}>`}"`);const m=i.get(y),k=Rt(e,m);if(s&&fe(k,A`${ge}|\((?!\?)`,v.DEFAULT))throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const I=e.slice(m,d.index),D=k.slice(I.length+g.length),S=o.length,H=+N-1,Ge=fn(I,D,H,!0,t,o,l);a=hn(a,I,H,o.length-S,S,l);const Ln=e.slice(0,m),Rn=e.slice(m+k.length);e=`${Ln}${Ge}${Rn}`,z.lastIndex+=Ge.length-g.length-I.length-D.length,u.forEach(te=>te.hasRecursedWithin=!0),c=!0}else if(f)l++,i.set(String(l),z.lastIndex),i.set(f,z.lastIndex),u.push({num:l,name:f});else if(g[0]==="("){const $=g==="(";$&&(l++,i.set(String(l),z.lastIndex)),u.push($?{num:l}:{})}else g===")"&&u.pop()}return t.push(...o),{pattern:e,captureTransfers:a,hiddenCaptures:t}}function dn(e){const n=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(n);if(e=+e,e<2||e>100)throw new Error(n)}function fn(e,n,t,r,a,o,s){const i=new Set;r&&un(e+n,ge,({groups:{captureName:c}})=>{i.add(c)},v.DEFAULT);const u=[t,r?i:null,a,o,s];return`${e}${gn(`(?:${e}`,"forward",...u)}(?:)${gn(`${n})`,"backward",...u)}${n}`}function gn(e,n,t,r,a,o,s){const i=c=>n==="forward"?c+2:t-c+2-1;let u="";for(let c=0;c<t;c++){const p=i(c);u+=Ae(e,A`${pn}|\\k<(?<backref>[^>]+)>`,({0:l,groups:{captureName:d,unnamed:g,backref:f}})=>{if(f&&r&&!r.has(f))return l;const w=`_$${p}`;if(g||d){const y=s+o.length+1;return o.push(y),Gt(a,y),g?l:`(?<${d}${w}>`}return A`\k<${f}${w}>`},v.DEFAULT)}return u}function Gt(e,n){for(let t=0;t<e.length;t++)e[t]>=n&&e[t]++}function hn(e,n,t,r,a,o){if(e.size&&r){let s=0;un(n,pn,()=>s++,v.DEFAULT);const i=o-s+a,u=new Map;return e.forEach((c,p)=>{const l=(r-s*t)/t,d=s*t,g=p>i+s?p+r:p,f=[];for(const w of c)if(w<=i)f.push(w);else if(w>i+s+l)f.push(w+r);else if(w<=i+s)for(let y=0;y<=t;y++)f.push(w+s*y);else for(let y=0;y<=t;y++)f.push(w+d+l*y);u.set(g,f)}),u}return e}var C=String.fromCodePoint,h=String.raw,M={},he=globalThis.RegExp;M.flagGroups=(()=>{try{new he("(?i:)")}catch{return!1}return!0})(),M.unicodeSets=(()=>{try{new he("[[]]","v")}catch{return!1}return!0})(),M.bugFlagVLiteralHyphenIsRange=M.unicodeSets?(()=>{try{new he(h`[\d\-a]`,"v")}catch{return!0}return!1})():!1,M.bugNestedClassIgnoresNegation=M.unicodeSets&&new he("[[^a]]","v").test("a");function we(e,{enable:n,disable:t}){return{dotAll:!(t!=null&&t.dotAll)&&!!(n!=null&&n.dotAll||e.dotAll),ignoreCase:!(t!=null&&t.ignoreCase)&&!!(n!=null&&n.ignoreCase||e.ignoreCase)}}function ae(e,n,t){return e.has(n)||e.set(n,t),e.get(n)}function Me(e,n){return wn[e]>=wn[n]}function Dt(e,n){if(e==null)throw new Error(n??"Value expected");return e}var wn={ES2025:2025,ES2024:2024,ES2018:2018},Ot={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function yn(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!Ot[e.target])throw new Error(`Unexpected target "${e.target}"`);const n={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return n.target==="auto"&&(n.target=M.flagGroups?"ES2025":M.unicodeSets?"ES2024":"ES2018"),n}var Tt="[ -\r ]",Wt=new Set([C(304),C(305)]),P=h`[\p{L}\p{M}\p{N}\p{Pc}]`;function mn(e){if(Wt.has(e))return[e];const n=new Set,t=e.toLowerCase(),r=t.toUpperCase(),a=jt.get(t),o=zt.get(t),s=Vt.get(t);return[...r].length===1&&n.add(r),s&&n.add(s),a&&n.add(a),n.add(t),o&&n.add(o),[...n]}var Ne=new Map(`C Other
49
- Cc Control cntrl
50
- Cf Format
51
- Cn Unassigned
52
- Co Private_Use
53
- Cs Surrogate
54
- L Letter
55
- LC Cased_Letter
56
- Ll Lowercase_Letter
57
- Lm Modifier_Letter
58
- Lo Other_Letter
59
- Lt Titlecase_Letter
60
- Lu Uppercase_Letter
61
- M Mark Combining_Mark
62
- Mc Spacing_Mark
63
- Me Enclosing_Mark
64
- Mn Nonspacing_Mark
65
- N Number
66
- Nd Decimal_Number digit
67
- Nl Letter_Number
68
- No Other_Number
69
- P Punctuation punct
70
- Pc Connector_Punctuation
71
- Pd Dash_Punctuation
72
- Pe Close_Punctuation
73
- Pf Final_Punctuation
74
- Pi Initial_Punctuation
75
- Po Other_Punctuation
76
- Ps Open_Punctuation
77
- S Symbol
78
- Sc Currency_Symbol
79
- Sk Modifier_Symbol
80
- Sm Math_Symbol
81
- So Other_Symbol
82
- Z Separator
83
- Zl Line_Separator
84
- Zp Paragraph_Separator
85
- Zs Space_Separator
86
- ASCII
87
- ASCII_Hex_Digit AHex
88
- Alphabetic Alpha
89
- Any
90
- Assigned
91
- Bidi_Control Bidi_C
92
- Bidi_Mirrored Bidi_M
93
- Case_Ignorable CI
94
- Cased
95
- Changes_When_Casefolded CWCF
96
- Changes_When_Casemapped CWCM
97
- Changes_When_Lowercased CWL
98
- Changes_When_NFKC_Casefolded CWKCF
99
- Changes_When_Titlecased CWT
100
- Changes_When_Uppercased CWU
101
- Dash
102
- Default_Ignorable_Code_Point DI
103
- Deprecated Dep
104
- Diacritic Dia
105
- Emoji
106
- Emoji_Component EComp
107
- Emoji_Modifier EMod
108
- Emoji_Modifier_Base EBase
109
- Emoji_Presentation EPres
110
- Extended_Pictographic ExtPict
111
- Extender Ext
112
- Grapheme_Base Gr_Base
113
- Grapheme_Extend Gr_Ext
114
- Hex_Digit Hex
115
- IDS_Binary_Operator IDSB
116
- IDS_Trinary_Operator IDST
117
- ID_Continue IDC
118
- ID_Start IDS
119
- Ideographic Ideo
120
- Join_Control Join_C
121
- Logical_Order_Exception LOE
122
- Lowercase Lower
123
- Math
124
- Noncharacter_Code_Point NChar
125
- Pattern_Syntax Pat_Syn
126
- Pattern_White_Space Pat_WS
127
- Quotation_Mark QMark
128
- Radical
129
- Regional_Indicator RI
130
- Sentence_Terminal STerm
131
- Soft_Dotted SD
132
- Terminal_Punctuation Term
133
- Unified_Ideograph UIdeo
134
- Uppercase Upper
135
- Variation_Selector VS
136
- White_Space space
137
- XID_Continue XIDC
138
- XID_Start XIDS`.split(/\s/).map(e=>[pe(e),e])),zt=new Map([["s",C(383)],[C(383),"s"]]),Vt=new Map([[C(223),C(7838)],[C(107),C(8490)],[C(229),C(8491)],[C(969),C(8486)]]),jt=new Map([U(453),U(456),U(459),U(498),...Le(8072,8079),...Le(8088,8095),...Le(8104,8111),U(8124),U(8140),U(8188)]),Ht=new Map([["alnum",h`[\p{Alpha}\p{Nd}]`],["alpha",h`\p{Alpha}`],["ascii",h`\p{ASCII}`],["blank",h`[\p{Zs}\t]`],["cntrl",h`\p{Cc}`],["digit",h`\p{Nd}`],["graph",h`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",h`\p{Lower}`],["print",h`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",h`[\p{P}\p{S}]`],["space",h`\p{space}`],["upper",h`\p{Upper}`],["word",h`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",h`\p{AHex}`]]);function Xt(e,n){const t=[];for(let r=e;r<=n;r++)t.push(r);return t}function U(e){const n=C(e);return[n.toLowerCase(),n]}function Le(e,n){return Xt(e,n).map(t=>U(t))}var bn=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function Zt(e,n){const t={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...n};Cn(e);const r={accuracy:t.accuracy,asciiWordBoundaries:t.asciiWordBoundaries,avoidSubclass:t.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Me(t.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};oe(e,Qt,r);const a={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},o={currentFlags:a,prevFlags:null,globalFlags:a,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};oe(e,qt,o);const s={groupsByName:o.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:o.reffedNodesByReferencer};return oe(e,Jt,s),e._originMap=o.groupOriginByCopy,e._strategy=r.strategy,e}var Qt={AbsenceFunction({node:e,parent:n,replaceWith:t}){const{body:r,kind:a}=e;if(a==="repeater"){const o=_();o.body[0].body.push(W({negate:!0,body:r}),J("Any"));const s=_();s.body[0].body.push(en("greedy",0,1/0,o)),t(b(s,n),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:n,key:t},{flagDirectivesByAlt:r}){const a=e.body.filter(o=>o.kind==="flags");for(let o=t+1;o<n.body.length;o++){const s=n.body[o];ae(r,s,[]).push(...a)}},exit({node:e},{flagDirectivesByAlt:n}){var t;if((t=n.get(e))!=null&&t.length){const r=En(n.get(e));if(r){const a=_({flags:r});a.body[0].body=e.body,e.body=[b(a,e)]}}}},Assertion({node:e,parent:n,key:t,container:r,root:a,remove:o,replaceWith:s},i){const{kind:u,negate:c}=e,{asciiWordBoundaries:p,avoidSubclass:l,supportedGNodes:d,wordIsAscii:g}=i;if(u==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${c?"Y":"y"}"`);if(u==="line_end")s(b(W({body:[T({body:[Ee("string_end")]}),T({body:[ce(10)]})]}),n));else if(u==="line_start")s(b(F(h`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),n));else if(u==="search_start")if(d.has(e))a.flags.sticky=!0,o();else{const f=r[t-1];if(f&&rr(f))s(b(W({negate:!0}),n));else{if(l)throw new Error(h`Uses "\G" in a way that requires a subclass`);s(B(Ee("string_start"),n)),i.strategy="clip_search"}}else if(!(u==="string_end"||u==="string_start"))if(u==="string_end_newline")s(b(F(h`(?=\n?\z)`),n));else if(u==="word_boundary"){if(!g&&!p){const f=`(?:(?<=${P})(?!${P})|(?<!${P})(?=${P}))`,w=`(?:(?<=${P})(?=${P})|(?<!${P})(?!${P}))`;s(b(F(c?w:f),n))}}else throw new Error(`Unexpected assertion kind "${u}"`)},Backreference({node:e},{jsGroupNameMap:n}){let{ref:t}=e;typeof t=="string"&&!Pe(t)&&(t=Re(t,n),e.ref=t)},CapturingGroup({node:e},{jsGroupNameMap:n,subroutineRefMap:t}){let{name:r}=e;r&&!Pe(r)&&(r=Re(r,n),e.name=r),t.set(e.number,e),r&&t.set(r,e)},CharacterClassRange({node:e,parent:n,replaceWith:t}){if(n.kind==="intersection"){const r=le({body:[e]});t(b(r,n),{traverse:!0})}},CharacterSet({node:e,parent:n,replaceWith:t},{accuracy:r,minTargetEs2024:a,digitIsAscii:o,spaceIsAscii:s,wordIsAscii:i}){const{kind:u,negate:c,value:p}=e;if(o&&(u==="digit"||p==="digit")){t(B(ve("digit",{negate:c}),n));return}if(s&&(u==="space"||p==="space")){t(b(Fe(F(Tt),c),n));return}if(i&&(u==="word"||p==="word")){t(B(ve("word",{negate:c}),n));return}if(u==="any")t(B(J("Any"),n));else if(u==="digit")t(B(J("Nd",{negate:c}),n));else if(u!=="dot")if(u==="text_segment"){if(r==="strict")throw new Error(h`Use of "\X" requires non-strict accuracy`);const l="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",d=h`\p{RI}{2}|${l}(?:\u200D${l})*`;t(b(F(h`(?>\r\n|${a?h`\p{RGI_Emoji}`:d}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),n))}else if(u==="hex")t(B(J("AHex",{negate:c}),n));else if(u==="newline")t(b(F(c?`[^
139
- ]`:`(?>\r
140
- ?|[
141
- \v\f\x85\u2028\u2029])`),n));else if(u==="posix")if(!a&&(p==="graph"||p==="print")){if(r==="strict")throw new Error(`POSIX class "${p}" requires min target ES2024 or non-strict accuracy`);let l={graph:"!-~",print:" -~"}[p];c&&(l=`\0-${C(l.codePointAt(0)-1)}${C(l.codePointAt(2)+1)}-\u{10FFFF}`),t(b(F(`[${l}]`),n))}else t(b(Fe(F(Ht.get(p)),c),n));else if(u==="property")Ne.has(pe(p))||(e.key="sc");else if(u==="space")t(B(J("space",{negate:c}),n));else if(u==="word")t(b(Fe(F(P),c),n));else throw new Error(`Unexpected character set kind "${u}"`)},Directive({node:e,parent:n,root:t,remove:r,replaceWith:a,removeAllPrevSiblings:o,removeAllNextSiblings:s}){const{kind:i,flags:u}=e;if(i==="flags")if(!u.enable&&!u.disable)r();else{const c=_({flags:u});c.body[0].body=s(),a(b(c,n),{traverse:!0})}else if(i==="keep"){const c=t.body[0],p=t.body.length===1&&Je(c,{type:"Group"})&&c.body[0].body.length===1?c.body[0]:t;if(n.parent!==p||p.body.length>1)throw new Error(h`Uses "\K" in a way that's unsupported`);const l=W({behind:!0});l.body[0].body=o(),a(b(l,n))}else throw new Error(`Unexpected directive kind "${i}"`)},Flags({node:e,parent:n}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(t=>delete e[t]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),n.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:n,disable:t}=e.flags;n!=null&&n.extended&&delete n.extended,t!=null&&t.extended&&delete t.extended,n!=null&&n.dotAll&&t!=null&&t.dotAll&&delete n.dotAll,n!=null&&n.ignoreCase&&t!=null&&t.ignoreCase&&delete n.ignoreCase,n&&!Object.keys(n).length&&delete e.flags.enable,t&&!Object.keys(t).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},n){const{kind:t}=e;t==="lookbehind"&&(n.passedLookbehind=!0)},NamedCallout({node:e,parent:n,replaceWith:t}){const{kind:r}=e;if(r==="fail")t(b(W({negate:!0}),n));else throw new Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const n=_();n.body[0].body.push(e.body),e.body=b(n,e)}},Regex:{enter({node:e},{supportedGNodes:n}){const t=[];let r=!1,a=!1;for(const o of e.body)if(o.body.length===1&&o.body[0].kind==="search_start")o.body.pop();else{const s=vn(o.body);s?(r=!0,Array.isArray(s)?t.push(...s):t.push(s)):a=!0}r&&!a&&t.forEach(o=>n.add(o))},exit(e,{accuracy:n,passedLookbehind:t,strategy:r}){if(n==="strict"&&t&&r)throw new Error(h`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:n}){let{ref:t}=e;typeof t=="string"&&!Pe(t)&&(t=Re(t,n),e.ref=t)}},qt={Backreference({node:e},{multiplexCapturesToLeftByRef:n,reffedNodesByReferencer:t}){const{orphan:r,ref:a}=e;r||t.set(e,[...n.get(a).map(({node:o})=>o)])},CapturingGroup:{enter({node:e,parent:n,replaceWith:t,skip:r},{groupOriginByCopy:a,groupsByName:o,multiplexCapturesToLeftByRef:s,openRefs:i,reffedNodesByReferencer:u}){const c=a.get(e);if(c&&i.has(e.number)){const l=B(kn(e.number),n);u.set(l,i.get(e.number)),t(l);return}i.set(e.number,e),s.set(e.number,[]),e.name&&ae(s,e.name,[]);const p=s.get(e.name??e.number);for(let l=0;l<p.length;l++){const d=p[l];if(c===d.node||c&&c===d.origin||e===d.origin){p.splice(l,1);break}}if(s.get(e.number).push({node:e,origin:c}),e.name&&s.get(e.name).push({node:e,origin:c}),e.name){const l=ae(o,e.name,new Map);let d=!1;if(c)d=!0;else for(const g of l.values())if(!g.hasDuplicateNameToRemove){d=!0;break}o.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:d})}},exit({node:e},{openRefs:n}){n.get(e.number)===e&&n.delete(e.number)}},Group:{enter({node:e},n){n.prevFlags=n.currentFlags,e.flags&&(n.currentFlags=we(n.currentFlags,e.flags))},exit(e,n){n.currentFlags=n.prevFlags}},Subroutine({node:e,parent:n,replaceWith:t},r){const{isRecursive:a,ref:o}=e;if(a){let p=n;for(;(p=p.parent)&&!(p.type==="CapturingGroup"&&(p.name===o||p.number===o)););r.reffedNodesByReferencer.set(e,p);return}const s=r.subroutineRefMap.get(o),i=o===0,u=i?kn(0):xn(s,r.groupOriginByCopy,null);let c=u;if(!i){const p=En(er(s,d=>d.type==="Group"&&!!d.flags)),l=p?we(r.globalFlags,p):r.globalFlags;Kt(l,r.currentFlags)||(c=_({flags:nr(l)}),c.body[0].body.push(u))}t(b(c,n),{traverse:!i})}},Jt={Backreference({node:e,parent:n,replaceWith:t},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}const a=r.reffedNodesByReferencer.get(e).filter(o=>Yt(o,e));if(!a.length)t(b(W({negate:!0}),n));else if(a.length>1){const o=_({atomic:!0,body:a.reverse().map(s=>T({body:[$e(s.number)]}))});t(b(o,n))}else e.ref=a[0].number},CapturingGroup({node:e},n){e.number=++n.numCapturesToLeft,e.name&&n.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},n){const t=Math.max(n.highestOrphanBackref-n.numCapturesToLeft,0);for(let r=0;r<t;r++){const a=Ye();e.body.at(-1).body.push(a)}}},Subroutine({node:e},n){!e.isRecursive||e.ref===0||(e.ref=n.reffedNodesByReferencer.get(e).number)}};function Cn(e){oe(e,{"*"({node:n,parent:t}){n.parent=t}})}function Kt(e,n){return e.dotAll===n.dotAll&&e.ignoreCase===n.ignoreCase}function Yt(e,n){let t=n;do{if(t.type==="Regex")return!1;if(t.type==="Alternative")continue;if(t===e)return!1;const r=$n(t.parent);for(const a of r){if(a===t)break;if(a===e||An(a,e))return!0}}while(t=t.parent);throw new Error("Unexpected path")}function xn(e,n,t,r){const a=Array.isArray(e)?[]:{};for(const[o,s]of Object.entries(e))o==="parent"?a.parent=Array.isArray(t)?r:t:s&&typeof s=="object"?a[o]=xn(s,n,a,t):(o==="type"&&s==="CapturingGroup"&&n.set(a,n.get(e)??e),a[o]=s);return a}function kn(e){const n=nn(e);return n.isRecursive=!0,n}function er(e,n){const t=[];for(;e=e.parent;)(!n||n(e))&&t.push(e);return t}function Re(e,n){if(n.has(e))return n.get(e);const t=`$${n.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return n.set(e,t),t}function En(e){const n=["dotAll","ignoreCase"],t={enable:{},disable:{}};return e.forEach(({flags:r})=>{n.forEach(a=>{var o,s;(o=r.enable)!=null&&o[a]&&(delete t.disable[a],t.enable[a]=!0),(s=r.disable)!=null&&s[a]&&(t.disable[a]=!0)})}),Object.keys(t.enable).length||delete t.enable,Object.keys(t.disable).length||delete t.disable,t.enable||t.disable?t:null}function nr({dotAll:e,ignoreCase:n}){const t={};return(e||n)&&(t.enable={},e&&(t.enable.dotAll=!0),n&&(t.enable.ignoreCase=!0)),(!e||!n)&&(t.disable={},!e&&(t.disable.dotAll=!0),!n&&(t.disable.ignoreCase=!0)),t}function $n(e){if(!e)throw new Error("Node expected");const{body:n}=e;return Array.isArray(n)?n:n?[n]:null}function vn(e){const n=e.find(t=>t.kind==="search_start"||or(t,{negate:!1})||!tr(t));if(!n)return null;if(n.kind==="search_start")return n;if(n.type==="LookaroundAssertion")return n.body[0].body[0];if(n.type==="CapturingGroup"||n.type==="Group"){const t=[];for(const r of n.body){const a=vn(r.body);if(!a)return null;Array.isArray(a)?t.push(...a):t.push(a)}return t}return null}function An(e,n){const t=$n(e)??[];for(const r of t)if(r===n||An(r,n))return!0;return!1}function tr({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function rr(e){const n=["Character","CharacterClass","CharacterSet"];return n.includes(e.type)||e.type==="Quantifier"&&e.min&&n.includes(e.body.type)}function or(e,n){const t={negate:null,...n};return e.type==="LookaroundAssertion"&&(t.negate===null||e.negate===t.negate)&&e.body.length===1&&Je(e.body[0],{type:"Assertion",kind:"search_start"})}function Pe(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function F(e,n){const t=Ke(e,{...n,unicodePropertyMap:Ne}).body;return t.length>1||t[0].body.length>1?_({body:t}):t[0].body[0]}function Fe(e,n){return e.negate=n,e}function B(e,n){return e.parent=n,e}function b(e,n){return Cn(e),e.parent=n,e}function ar(e,n){const t=yn(n),r=Me(t.target,"ES2024"),a=Me(t.target,"ES2025"),o=t.rules.recursionLimit;if(!Number.isInteger(o)||o<2||o>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,i=null;if(!a){const g=[e.flags.ignoreCase];oe(e,sr,{getCurrentModI:()=>g.at(-1),popModI(){g.pop()},pushModI(f){g.push(f)},setHasCasedChar(){g.at(-1)?s=!0:i=!0}})}const u={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!i)};let c=e;const p={accuracy:t.accuracy,appliedGlobalFlags:u,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:c,originMap:e._originMap,recursionLimit:o,useAppliedIgnoreCase:!!(!a&&s&&i),useFlagMods:a,useFlagV:r,verbose:t.verbose};function l(g){return p.lastNode=c,c=g,Dt(ir[g.type],`Unexpected node type "${g.type}"`)(g,p,l)}const d={pattern:e.body.map(l).join("|"),flags:l(e.flags),options:{...e.options}};return r||(delete d.options.force.v,d.options.disable.v=!0,d.options.unicodeSetsPlugin=null),d._captureTransfers=new Map,d._hiddenCaptures=[],p.captureMap.forEach((g,f)=>{g.hidden&&d._hiddenCaptures.push(f),g.transferTo&&ae(d._captureTransfers,g.transferTo,[]).push(f)}),d}var sr={"*":{enter({node:e},n){if(_n(e)){const t=n.getCurrentModI();n.pushModI(e.flags?we({ignoreCase:t},e.flags).ignoreCase:t)}},exit({node:e},n){_n(e)&&n.popModI()}},Backreference(e,n){n.setHasCasedChar()},Character({node:e},n){Ue(C(e.value))&&n.setHasCasedChar()},CharacterClassRange({node:e,skip:n},t){n(),Sn(e,{firstOnly:!0}).length&&t.setHasCasedChar()},CharacterSet({node:e},n){e.kind==="property"&&bn.has(e.value)&&n.setHasCasedChar()}},ir={Alternative({body:e},n,t){return e.map(t).join("")},Assertion({kind:e,negate:n}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return n?h`\B`:h`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},n){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!n.useFlagMods&&n.accuracy==="strict"&&n.currentFlags.ignoreCase&&!n.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,n,t){const{body:r,name:a,number:o}=e,s={ignoreCase:n.currentFlags.ignoreCase},i=n.originMap.get(e);return i&&(s.hidden=!0,o>i.number&&(s.transferTo=i.number)),n.captureMap.set(o,s),`(${a?`?<${a}>`:""}${r.map(t).join("|")})`},Character({value:e},n){const t=C(e),r=Y(e,{escDigit:n.lastNode.type==="Backreference",inCharClass:n.inCharClass,useFlagV:n.useFlagV});if(r!==t)return r;if(n.useAppliedIgnoreCase&&n.currentFlags.ignoreCase&&Ue(t)){const a=mn(t);return n.inCharClass?a.join(""):a.length>1?`[${a.join("")}]`:a[0]}return t},CharacterClass(e,n,t){const{kind:r,negate:a,parent:o}=e;let{body:s}=e;if(r==="intersection"&&!n.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");M.bugFlagVLiteralHyphenIsRange&&n.useFlagV&&s.some(Mn)&&(s=[ce(45),...s.filter(c=>!Mn(c))]);const i=()=>`[${a?"^":""}${s.map(t).join(r==="intersection"?"&&":"")}]`;if(!n.inCharClass){if((!n.useFlagV||M.bugNestedClassIgnoresNegation)&&!a){const p=s.filter(l=>l.type==="CharacterClass"&&l.kind==="union"&&l.negate);if(p.length){const l=_(),d=l.body[0];return l.parent=o,d.parent=l,s=s.filter(g=>!p.includes(g)),e.body=s,s.length?(e.parent=d,d.body.push(e)):l.body.pop(),p.forEach(g=>{const f=T({body:[g]});g.parent=f,f.parent=l,l.body.push(f)}),t(l)}}n.inCharClass=!0;const c=i();return n.inCharClass=!1,c}const u=s[0];if(r==="union"&&!a&&u&&((!n.useFlagV||!n.verbose)&&o.kind==="union"&&!(M.bugFlagVLiteralHyphenIsRange&&n.useFlagV)||!n.verbose&&o.kind==="intersection"&&s.length===1&&u.type!=="CharacterClassRange"))return s.map(t).join("");if(!n.useFlagV&&o.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return i()},CharacterClassRange(e,n){const t=e.min.value,r=e.max.value,a={escDigit:!1,inCharClass:!0,useFlagV:n.useFlagV},o=Y(t,a),s=Y(r,a),i=new Set;if(n.useAppliedIgnoreCase&&n.currentFlags.ignoreCase){const u=Sn(e);dr(u).forEach(c=>{i.add(Array.isArray(c)?`${Y(c[0],a)}-${Y(c[1],a)}`:Y(c,a))})}return`${o}-${s}${[...i].join("")}`},CharacterSet({kind:e,negate:n,value:t,key:r},a){if(e==="dot")return a.currentFlags.dotAll?a.appliedGlobalFlags.dotAll||a.useFlagMods?".":"[^]":h`[^\n]`;if(e==="digit")return n?h`\D`:h`\d`;if(e==="property"){if(a.useAppliedIgnoreCase&&a.currentFlags.ignoreCase&&bn.has(t))throw new Error(`Unicode property "${t}" can't be case-insensitive when other chars have specific case`);return`${n?h`\P`:h`\p`}{${r?`${r}=`:""}${t}}`}if(e==="word")return n?h`\W`:h`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,n){return(n.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:n,flags:t,parent:r},a,o){const s=a.currentFlags;t&&(a.currentFlags=we(s,t));const i=n.map(o).join("|"),u=!a.verbose&&n.length===1&&r.type!=="Quantifier"&&!e&&(!a.useFlagMods||!t)?i:`(?${fr(e,t,a.useFlagMods)}${i})`;return a.currentFlags=s,u},LookaroundAssertion({body:e,kind:n,negate:t},r,a){return`(?${`${n==="lookahead"?"":"<"}${t?"!":"="}`}${e.map(a).join("|")})`},Quantifier(e,n,t){return t(e.body)+gr(e)},Subroutine({isRecursive:e,ref:n},t){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const r=t.recursionLimit;return n===0?`(?R=${r})`:h`\g<${n}&R=${r}>`}},ur=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),cr=new Set(["-","\\","]","^","["]),lr=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),In=new Map([[9,h`\t`],[10,h`\n`],[11,h`\v`],[12,h`\f`],[13,h`\r`],[8232,h`\u2028`],[8233,h`\u2029`],[65279,h`\uFEFF`]]),pr=new RegExp("^\\p{Cased}$","u");function Ue(e){return pr.test(e)}function Sn(e,n){const t=!!(n!=null&&n.firstOnly),r=e.min.value,a=e.max.value,o=[];if(r<65&&(a===65535||a>=131071)||r===65536&&a>=131071)return o;for(let s=r;s<=a;s++){const i=C(s);if(!Ue(i))continue;const u=mn(i).filter(c=>{const p=c.codePointAt(0);return p<r||p>a});if(u.length&&(o.push(...u),t))break}return o}function Y(e,{escDigit:n,inCharClass:t,useFlagV:r}){if(In.has(e))return In.get(e);if(e<32||e>126&&e<160||e>262143||n&&hr(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const a=t?r?lr:cr:ur,o=C(e);return(a.has(o)?"\\":"")+o}function dr(e){const n=e.map(a=>a.codePointAt(0)).sort((a,o)=>a-o),t=[];let r=null;for(let a=0;a<n.length;a++)n[a+1]===n[a]+1?r??(r=n[a]):r===null?t.push(n[a]):(t.push([r,n[a]]),r=null);return t}function fr(e,n,t){if(e)return">";let r="";if(n&&t){const{enable:a,disable:o}=n;r=(a!=null&&a.ignoreCase?"i":"")+(a!=null&&a.dotAll?"s":"")+(o?"-":"")+(o!=null&&o.ignoreCase?"i":"")+(o!=null&&o.dotAll?"s":"")}return`${r}:`}function gr({kind:e,max:n,min:t}){let r;return!t&&n===1?r="?":!t&&n===1/0?r="*":t===1&&n===1/0?r="+":t===n?r=`{${t}}`:r=`{${t},${n===1/0?"":n}}`,r+{greedy:"",lazy:"?",possessive:"+"}[e]}function _n({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function hr(e){return e>47&&e<58}function Mn({type:e,value:n}){return e==="Character"&&n===45}var V,G,ee,j,ne,ye,Be,se,wr=(se=class extends RegExp{constructor(e,n,t){var r=(...o)=>(super(...o),X(this,ye),X(this,V,new Map),X(this,G,null),X(this,ee),X(this,j,null),X(this,ne,null),ie(this,"rawOptions",{}),this);const a=!!(t!=null&&t.lazyCompile);if(e instanceof RegExp){if(t)throw new Error("Cannot provide options when copying a regexp");const o=e;r(o,n),L(this,ee,o.source),o instanceof se&&(L(this,V,E(o,V)),L(this,j,E(o,j)),L(this,ne,E(o,ne)),this.rawOptions=o.rawOptions)}else{const o={hiddenCaptures:[],strategy:null,transfers:[],...t};r(a?"":e,n),L(this,ee,e),L(this,V,mr(o.hiddenCaptures,o.transfers)),L(this,ne,o.strategy),this.rawOptions=t??{}}a||L(this,G,this)}get source(){return E(this,ee)||"(?:)"}exec(e){if(!E(this,G)){const{lazyCompile:r,...a}=this.rawOptions;L(this,G,new se(E(this,ee),this.flags,a))}const n=this.global||this.sticky,t=this.lastIndex;if(E(this,ne)==="clip_search"&&n&&t){this.lastIndex=0;const r=Oe(this,ye,Be).call(this,e.slice(t));return r&&(yr(r,t,e,this.hasIndices),this.lastIndex+=t),r}return Oe(this,ye,Be).call(this,e)}},V=new WeakMap,G=new WeakMap,ee=new WeakMap,j=new WeakMap,ne=new WeakMap,ye=new WeakSet,Be=function(e){E(this,G).lastIndex=this.lastIndex;const n=Gn(se.prototype,this,"exec").call(E(this,G),e);if(this.lastIndex=E(this,G).lastIndex,!n||!E(this,V).size)return n;const t=[...n];n.length=1;let r;this.hasIndices&&(r=[...n.indices],n.indices.length=1);const a=[0];for(let o=1;o<t.length;o++){const{hidden:s,transferTo:i}=E(this,V).get(o)??{};if(s?a.push(null):(a.push(n.length),n.push(t[o]),this.hasIndices&&n.indices.push(r[o])),i&&t[o]!==void 0){const u=a[i];if(!u)throw new Error(`Invalid capture transfer to "${u}"`);if(n[u]=t[o],this.hasIndices&&(n.indices[u]=r[o]),n.groups){E(this,j)||L(this,j,br(this.source));const c=E(this,j).get(i);c&&(n.groups[c]=t[o],this.hasIndices&&(n.indices.groups[c]=r[o]))}}}return n},se);function yr(e,n,t,r){if(e.index+=n,e.input=t,r){const a=e.indices;for(let s=0;s<a.length;s++){const i=a[s];i&&(a[s]=[i[0]+n,i[1]+n])}const o=a.groups;o&&Object.keys(o).forEach(s=>{const i=o[s];i&&(o[s]=[i[0]+n,i[1]+n])})}}function mr(e,n){const t=new Map;for(const r of e)t.set(r,{hidden:!0});for(const[r,a]of n)for(const o of a)ae(t,o,{}).transferTo=r;return t}function br(e){const n=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,t=new Map;let r=0,a=0,o;for(;o=n.exec(e);){const{0:s,groups:{capture:i,name:u}}=o;s==="["?r++:r?s==="]"&&r--:i&&(a++,u&&t.set(a,u))}return t}function Cr(e,n){const t=xr(e,n);return t.options?new wr(t.pattern,t.flags,t.options):new RegExp(t.pattern,t.flags)}function xr(e,n){const t=yn(n),r=Ke(e,{flags:t.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:t.rules.captureGroup,singleline:t.rules.singleline},skipBackrefValidation:t.rules.allowOrphanBackrefs,unicodePropertyMap:Ne}),a=Zt(r,{accuracy:t.accuracy,asciiWordBoundaries:t.rules.asciiWordBoundaries,avoidSubclass:t.avoidSubclass,bestEffortTarget:t.target}),o=ar(a,t),s=Bt(o.pattern,{captureTransfers:o._captureTransfers,hiddenCaptures:o._hiddenCaptures,mode:"external"}),i=Ft(s.pattern),u=Pt(i.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),c={pattern:u.pattern,flags:`${t.hasIndices?"d":""}${t.global?"g":""}${o.flags}${o.options.disable.v?"u":"v"}`};if(t.avoidSubclass){if(t.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const p=u.hiddenCaptures.sort((f,w)=>f-w),l=Array.from(u.captureTransfers),d=a._strategy,g=c.pattern.length>=t.lazyCompileLength;(p.length||l.length||d||g)&&(c.options={...p.length&&{hiddenCaptures:p},...l.length&&{transfers:l},...d&&{strategy:d},...g&&{lazyCompile:g}})}return c}function Nn(e,n){return Cr(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...n})}function kr(e={}){const n={target:"auto",cache:new Map,...e};return n.regexConstructor||(n.regexConstructor=t=>Nn(t,{target:n.target})),{createScanner(t){return new be(t,n)},createString(t){return{content:t}}}}function Er(){const e={cache:new Map,regexConstructor:()=>{throw new Error("JavaScriptRawEngine: only support precompiled grammar")}};return{createScanner(n){return new be(n,e)},createString(n){return{content:n}}}}export{be as JavaScriptScanner,Er as createJavaScriptRawEngine,kr as createJavaScriptRegexEngine,Nn as defaultJavaScriptRegexConstructor};
1
+ export * from "./engine-javascript-vq0WuIJl.js";