eddyter 1.3.56 → 1.3.57

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 (231) hide show
  1. package/LICENSE +24 -24
  2. package/README.md +493 -493
  3. package/dist/App.d.ts +3 -2
  4. package/dist/Provider/EditorProvider.d.ts +32 -31
  5. package/dist/Provider/LexicalProvider.d.ts +6 -5
  6. package/dist/api/ai/index.d.ts +39 -83
  7. package/dist/api/analytics.d.ts +21 -21
  8. package/dist/api/auth.d.ts +108 -108
  9. package/dist/api/bugReport.d.ts +27 -27
  10. package/dist/api/config/axios.d.ts +2 -1
  11. package/dist/api/config/endpoints.d.ts +24 -27
  12. package/dist/api/featureSuggestion.d.ts +23 -23
  13. package/dist/api/feedback.d.ts +26 -26
  14. package/dist/api/linkPreview.d.ts +15 -15
  15. package/dist/api/transcript/index.d.ts +68 -68
  16. package/dist/assets/style.css +1 -1
  17. package/dist/babel-1c4a328b.js +7478 -0
  18. package/dist/components/AiPlugin/index.d.ts +6 -6
  19. package/dist/components/AlignMenu/AlignMenu.d.ts +9 -8
  20. package/dist/components/AlignMenu/AlignMenuDrop.d.ts +3 -2
  21. package/dist/components/AlignMenu/index.d.ts +1 -1
  22. package/dist/components/AutoExpandingDemo.d.ts +6 -5
  23. package/dist/components/BlockFormatMenu/BlockFormatMenu.d.ts +3 -2
  24. package/dist/components/BlockFormatMenu/constants.d.ts +14 -14
  25. package/dist/components/BlockFormatMenu/index.d.ts +1 -1
  26. package/dist/components/BugReportDialog/index.d.ts +6 -6
  27. package/dist/components/ChartEditDialog.d.ts +9 -8
  28. package/dist/components/ChartInsertDialog.d.ts +8 -7
  29. package/dist/components/CodeActionMenuPlugin/components/CopyButton/index.d.ts +7 -6
  30. package/dist/components/CodeActionMenuPlugin/components/PrettierButton/index.d.ts +9 -8
  31. package/dist/components/CodeActionMenuPlugin/index.d.ts +5 -4
  32. package/dist/components/CodeActionMenuPlugin/utils.d.ts +1 -1
  33. package/dist/components/ColorPicker/ColorPicker.d.ts +3 -2
  34. package/dist/components/ColorPicker/index.d.ts +1 -1
  35. package/dist/components/CommentSidebar/CommentSidebar.d.ts +8 -7
  36. package/dist/components/CommentSidebar/index.d.ts +1 -1
  37. package/dist/components/CommentToggle/CommentToggle.d.ts +8 -7
  38. package/dist/components/CommentToggle/index.d.ts +1 -1
  39. package/dist/components/CommentView/CommentView.d.ts +9 -8
  40. package/dist/components/CommentView/index.d.ts +1 -1
  41. package/dist/components/ConfigurableEditorWithAuth.d.ts +35 -34
  42. package/dist/components/ContentPreview/index.d.ts +37 -36
  43. package/dist/components/DatePicker/DatePickerWidget.d.ts +7 -6
  44. package/dist/components/EmojiPickerWidget/EmojiPickerWidget.d.ts +3 -2
  45. package/dist/components/EmojiPickerWidget/index.d.ts +1 -1
  46. package/dist/components/FeatureSuggestionDialog/index.d.ts +6 -6
  47. package/dist/components/FeedbackDialog/index.d.ts +7 -7
  48. package/dist/components/FileUpload/InsertFileDialog.d.ts +7 -7
  49. package/dist/components/FileUpload/InsertFileUploadedDialogBody.d.ts +5 -4
  50. package/dist/components/FileView/index.d.ts +9 -8
  51. package/dist/components/FloatingHighlightColorPicker/index.d.ts +9 -8
  52. package/dist/components/FontFamilySelect/FontFamilyMenu.d.ts +7 -6
  53. package/dist/components/FontSizePicker/FontSizeControl.d.ts +3 -2
  54. package/dist/components/FormatTextMenu/FormatTextMenu.d.ts +3 -2
  55. package/dist/components/FormatTextMenu/FormatTextMenuDrop.d.ts +3 -2
  56. package/dist/components/FormatTextMenu/index.d.ts +1 -1
  57. package/dist/components/HighlightColorPicker/HighlightColorPicker.d.ts +7 -6
  58. package/dist/components/HtmlViewDisplay.d.ts +3 -2
  59. package/dist/components/ImageComparisonDialog/index.d.ts +11 -10
  60. package/dist/components/ImageGenerationDialog/ImageGenerationManager.d.ts +11 -10
  61. package/dist/components/ImageGenerationDialog/index.d.ts +11 -10
  62. package/dist/components/ImageInsertTest.d.ts +3 -2
  63. package/dist/components/ImageView/ImageDialog/ImageUploadDialogBody.d.ts +9 -8
  64. package/dist/components/ImageView/ImageDialog/index.d.ts +6 -5
  65. package/dist/components/ImageView/ImageResizer.d.ts +16 -15
  66. package/dist/components/ImageView/index.d.ts +17 -16
  67. package/dist/components/InsertMenu/InsertMenu.d.ts +9 -8
  68. package/dist/components/InsertMenu/InsertMenuDrop.d.ts +9 -8
  69. package/dist/components/InsertMenu/index.d.ts +1 -1
  70. package/dist/components/LanguageSelectorDialog/index.d.ts +8 -7
  71. package/dist/components/LinkPreviewHover/index.d.ts +40 -40
  72. package/dist/components/NotePanelMenu/NotePanelMenu.d.ts +6 -5
  73. package/dist/components/NotePanelMenu/index.d.ts +1 -1
  74. package/dist/components/NotePanelView/NotePanelView.d.ts +9 -8
  75. package/dist/components/NotePanelView/index.d.ts +1 -1
  76. package/dist/components/Placeholder/Placeholder.d.ts +3 -2
  77. package/dist/components/Placeholder/index.d.ts +1 -1
  78. package/dist/components/Placeholder/styles.d.ts +1 -1
  79. package/dist/components/PreviewDialog/index.d.ts +10 -0
  80. package/dist/components/ScopedEditor.d.ts +8 -8
  81. package/dist/components/SignatureCaption/index.d.ts +6 -5
  82. package/dist/components/SpeechLanguageSelector/index.d.ts +9 -8
  83. package/dist/components/TableColorPicker/index.d.ts +8 -7
  84. package/dist/components/TableModal/TableModal.d.ts +10 -9
  85. package/dist/components/TextEnhanceDialog/index.d.ts +10 -9
  86. package/dist/components/ToneAdjustDialog/index.d.ts +8 -7
  87. package/dist/components/Toolbar/Toolbar.d.ts +3 -2
  88. package/dist/components/Toolbar/index.d.ts +1 -1
  89. package/dist/components/Toolbar/styles.d.ts +6 -6
  90. package/dist/components/VoiceTranscriptIcon/VoiceTranscriptIcon.d.ts +2 -1
  91. package/dist/components/VoiceTranscriptIcon/index.d.ts +1 -1
  92. package/dist/components/ui/avatar.d.ts +6 -6
  93. package/dist/components/ui/badge.d.ts +9 -8
  94. package/dist/components/ui/button.d.ts +11 -10
  95. package/dist/components/ui/calendar.d.ts +8 -7
  96. package/dist/components/ui/card.d.ts +8 -8
  97. package/dist/components/ui/checkbox.d.ts +4 -4
  98. package/dist/components/ui/dialog.d.ts +19 -19
  99. package/dist/components/ui/dropdown-menu.d.ts +27 -27
  100. package/dist/components/ui/input.d.ts +3 -3
  101. package/dist/components/ui/label.d.ts +4 -4
  102. package/dist/components/ui/popover.d.ts +7 -7
  103. package/dist/components/ui/select.d.ts +13 -13
  104. package/dist/components/ui/separator.d.ts +4 -4
  105. package/dist/components/ui/sheet.d.ts +24 -24
  106. package/dist/components/ui/skeleton.d.ts +3 -3
  107. package/dist/components/ui/tabs.d.ts +7 -7
  108. package/dist/components/ui/textarea.d.ts +3 -3
  109. package/dist/components/ui/tooltip.d.ts +7 -7
  110. package/dist/constants.d.ts +22 -21
  111. package/dist/context/CommentContext.d.ts +43 -42
  112. package/dist/context/HtmlViewContext.d.ts +17 -16
  113. package/dist/context/ToolbarContext.d.ts +56 -55
  114. package/dist/editorConfig.d.ts +70 -70
  115. package/dist/estree-2cbea43c.js +4667 -0
  116. package/dist/hooks/useAutoExpandingHeight.d.ts +15 -15
  117. package/dist/hooks/useBlockFormat.d.ts +17 -16
  118. package/dist/hooks/useColorPicker.d.ts +6 -6
  119. package/dist/hooks/useCustomCommands.d.ts +3 -2
  120. package/dist/hooks/useDebounce.d.ts +1 -1
  121. package/dist/hooks/useEditorToolbar.d.ts +10 -9
  122. package/dist/hooks/useFeedbackEligibility.d.ts +18 -18
  123. package/dist/hooks/useInsertMenu.d.ts +9 -9
  124. package/dist/hooks/useModal.d.ts +5 -5
  125. package/dist/hooks/useReactNativeBridge.d.ts +54 -54
  126. package/dist/hooks/useS3Uploader.d.ts +21 -21
  127. package/dist/hooks/useVoiceToText.d.ts +20 -20
  128. package/dist/html-c18fb60e.js +2841 -0
  129. package/dist/{html2pdf.bundle-5eb394ee.js → html2pdf.bundle-065f580a.js} +1 -1
  130. package/dist/{html2pdf.bundle.min-31a8b0db.js → html2pdf.bundle.min-c9c3c4f0.js} +1 -1
  131. package/dist/{index-66d9f716.js → index-39aec401.js} +14744 -16369
  132. package/dist/{index-953fe9ad.js → index-5b27923c.js} +4 -3
  133. package/dist/{index-969008d4.js → index-a9f00b0b.js} +47 -46
  134. package/dist/index.d.ts +14 -14
  135. package/dist/index.js +14 -13
  136. package/dist/lib/utils.d.ts +2 -1
  137. package/dist/main.d.ts +1 -0
  138. package/dist/markdown-39c3822b.js +3547 -0
  139. package/dist/nodes/ChartNode.d.ts +41 -40
  140. package/dist/nodes/CommentNode.d.ts +34 -33
  141. package/dist/nodes/CommentedTextNode.d.ts +29 -28
  142. package/dist/nodes/EmbedNode.d.ts +32 -31
  143. package/dist/nodes/FileNode.d.ts +33 -32
  144. package/dist/nodes/ImageNode.d.ts +65 -64
  145. package/dist/nodes/MentionNode.d.ts +75 -74
  146. package/dist/nodes/NotePanelNode.d.ts +31 -30
  147. package/dist/nodes/UploadingFileNode.d.ts +30 -29
  148. package/dist/nodes/UploadingImageNode.d.ts +30 -29
  149. package/dist/pages/ConfigurableEditor/ConfigurableEditor.d.ts +25 -24
  150. package/dist/pages/ConfigurableEditor/index.d.ts +2 -2
  151. package/dist/pages/NotFound.d.ts +2 -2
  152. package/dist/pages/RichTextEditor.d.ts +6 -6
  153. package/dist/pages/TextareaEditor.d.ts +6 -6
  154. package/dist/pages/styles.d.ts +5 -5
  155. package/dist/plugins/AIChatPlugin.d.ts +11 -10
  156. package/dist/plugins/AndroidKeyboardFixPlugin.d.ts +16 -16
  157. package/dist/plugins/AutocompletePlugin.d.ts +22 -22
  158. package/dist/plugins/CodeBlockNormalizerPlugin.d.ts +8 -8
  159. package/dist/plugins/CodeBlockSelectAllPlugin.d.ts +8 -8
  160. package/dist/plugins/CodeHighlightPlugin.d.ts +3 -2
  161. package/dist/plugins/CombinedAutocompletGrammarPlugin.d.ts +21 -20
  162. package/dist/plugins/CommentBubblePlugin.d.ts +3 -2
  163. package/dist/plugins/CommentPlugin.d.ts +7 -6
  164. package/dist/plugins/CustomHorizontalRulePlugin/CustomHorizontalRuleNode.d.ts +29 -28
  165. package/dist/plugins/CustomHorizontalRulePlugin/CustomHorizontalRulePlugin.d.ts +3 -3
  166. package/dist/plugins/CustomHorizontalRulePlugin/HorizontalRuleCustomizationDialog.d.ts +7 -6
  167. package/dist/plugins/CustomHorizontalRulePlugin/index.d.ts +3 -3
  168. package/dist/plugins/DragDropPastePlugin/index.d.ts +8 -8
  169. package/dist/plugins/DragDropPastePlugin/indexs.d.ts +1 -1
  170. package/dist/plugins/DraggableBlockPlugin/index.d.ts +4 -0
  171. package/dist/plugins/EmbedPreviewPlugin/FloatingEmbedMenuPlugin.d.ts +4 -3
  172. package/dist/plugins/EmbedPreviewPlugin/index.d.ts +6 -5
  173. package/dist/plugins/FilePlugin.d.ts +8 -7
  174. package/dist/plugins/FloatingLinkEditorPlugin/index.d.ts +6 -5
  175. package/dist/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +27 -26
  176. package/dist/plugins/GrammarCheckPlugin.d.ts +2 -1
  177. package/dist/plugins/HtmlCodeViewPlugin/index.d.ts +2 -2
  178. package/dist/plugins/HtmlImportPlugin.d.ts +5 -5
  179. package/dist/plugins/HtmlSyncPlugin.d.ts +3 -3
  180. package/dist/plugins/ImagePlugin.d.ts +7 -6
  181. package/dist/plugins/LinkPlugin/index.d.ts +6 -5
  182. package/dist/plugins/LinkPreviewPlugin/index.d.ts +4 -4
  183. package/dist/plugins/LocalStoragePlugin.d.ts +7 -6
  184. package/dist/plugins/MarkdownShortcutsPlugin/index.d.ts +20 -20
  185. package/dist/plugins/MentionsPlugin/index.d.ts +7 -6
  186. package/dist/plugins/NotePanelPlugin.d.ts +7 -6
  187. package/dist/plugins/PasteOptionsPlugin/index.d.ts +17 -17
  188. package/dist/plugins/RichTextPastePlugin/index.d.ts +6 -5
  189. package/dist/plugins/SignatureCanvasPlugin/SignatureCanvasDialog.d.ts +6 -5
  190. package/dist/plugins/SignatureCanvasPlugin/SignatureCanvasPlugin.d.ts +9 -9
  191. package/dist/plugins/SignatureCanvasPlugin/index.d.ts +2 -2
  192. package/dist/plugins/SlashCommandPlugin/index.d.ts +2 -2
  193. package/dist/plugins/TableActionMenuPlugin/index.d.ts +6 -5
  194. package/dist/plugins/TableCellResizer/index.d.ts +2 -1
  195. package/dist/plugins/TableHoverActionsPlugin/index.d.ts +4 -4
  196. package/dist/plugins/TablePlugin.d.ts +5 -4
  197. package/dist/plugins/Tableimageautoresizeplugin.d.ts +1 -1
  198. package/dist/plugins/TextEnhancePlugin.d.ts +6 -6
  199. package/dist/plugins/TreeViewPlugin.d.ts +3 -2
  200. package/dist/plugins/UsageTrackingPlugin.d.ts +15 -15
  201. package/dist/plugins/VoiceTranscriptPlugin.d.ts +25 -25
  202. package/dist/plugins/WordCountPlugin.d.ts +3 -2
  203. package/dist/postcss-bbcc713e.js +5151 -0
  204. package/dist/services/chartService.d.ts +19 -18
  205. package/dist/standalone-36ad3877.js +2600 -0
  206. package/dist/styles/PlaygroundEditorTheme.d.ts +3 -2
  207. package/dist/types.d.ts +205 -203
  208. package/dist/typescript-39d06710.js +13533 -0
  209. package/dist/ui/ColorPicker.d.ts +14 -13
  210. package/dist/ui/Icons.d.ts +84 -84
  211. package/dist/ui/TextInput.d.ts +11 -10
  212. package/dist/utils/dateFormats.d.ts +33 -33
  213. package/dist/utils/debounce.d.ts +6 -5
  214. package/dist/utils/editorStyleConverter.d.ts +17 -16
  215. package/dist/utils/export.d.ts +2 -1
  216. package/dist/utils/getDOMRangeRect.d.ts +13 -13
  217. package/dist/utils/getSelectedNode.d.ts +3 -2
  218. package/dist/utils/helper.d.ts +3 -3
  219. package/dist/utils/index.d.ts +4 -3
  220. package/dist/utils/invarient.d.ts +1 -1
  221. package/dist/utils/setFloatingElemPosition.d.ts +8 -8
  222. package/dist/utils/setFloatingElemPositionForLinkEditor.d.ts +1 -1
  223. package/dist/utils/url.d.ts +9 -9
  224. package/package.json +149 -149
  225. package/dist/babel-2d5b260f.js +0 -7770
  226. package/dist/estree-28f5912a.js +0 -4920
  227. package/dist/html-3f297a3a.js +0 -3021
  228. package/dist/markdown-08edd93b.js +0 -3625
  229. package/dist/postcss-0e22bc25.js +0 -5187
  230. package/dist/standalone-83d5947a.js +0 -2728
  231. package/dist/typescript-0559ee85.js +0 -13660
@@ -1,3021 +0,0 @@
1
- var fn = Object.defineProperty;
2
- var _n = (e, t, r) => t in e ? fn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var Je = (e, t, r) => (_n(e, typeof t != "symbol" ? t + "" : t, r), r), Qe = (e, t, r) => {
4
- if (!t.has(e))
5
- throw TypeError("Cannot " + r);
6
- };
7
- var I = (e, t, r) => (Qe(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Ze = (e, t, r) => {
8
- if (t.has(e))
9
- throw TypeError("Cannot add the same private member more than once");
10
- t instanceof WeakSet ? t.add(e) : t.set(e, r);
11
- }, It = (e, t, r, n) => (Qe(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r);
12
- var Rt = (e, t, r) => (Qe(e, t, "access private method"), r);
13
- var fr = Object.defineProperty, _r = (e) => {
14
- throw TypeError(e);
15
- }, Cn = (e, t, r) => t in e ? fr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Cr = (e, t) => {
16
- for (var r in t)
17
- fr(e, r, { get: t[r], enumerable: !0 });
18
- }, Mt = (e, t, r) => Cn(e, typeof t != "symbol" ? t + "" : t, r), vn = (e, t, r) => t.has(e) || _r("Cannot " + r), Be = (e, t, r) => (vn(e, t, "read from private field"), r ? r.call(e) : t.get(e)), En = (e, t, r) => t.has(e) ? _r("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Sn = {};
19
- Cr(Sn, { languages: () => ho, options: () => go, parsers: () => pn, printers: () => jo });
20
- var Ct = (e, t) => (r, n, ...a) => r | 1 && n == null ? void 0 : (t.call(n) ?? n[e]).apply(n, a), An = String.prototype.replaceAll ?? function(e, t) {
21
- return e.global ? this.replace(e, t) : this.split(e).join(t);
22
- }, Tn = Ct("replaceAll", function() {
23
- if (typeof this == "string")
24
- return An;
25
- }), k = Tn;
26
- function bn(e) {
27
- return this[e < 0 ? this.length + e : e];
28
- }
29
- var kn = Ct("at", function() {
30
- if (Array.isArray(this) || typeof this == "string")
31
- return bn;
32
- }), ee = kn, wn = () => {
33
- }, yn = wn, vr = "string", Er = "array", Sr = "cursor", vt = "indent", Et = "align", Ar = "trim", St = "group", At = "fill", Tt = "if-break", bt = "indent-if-break", Tr = "line-suffix", br = "line-suffix-boundary", te = "line", kr = "label", kt = "break-parent", wr = /* @__PURE__ */ new Set([Sr, vt, Et, Ar, St, At, Tt, bt, Tr, br, te, kr, kt]);
34
- function Dn(e) {
35
- if (typeof e == "string")
36
- return vr;
37
- if (Array.isArray(e))
38
- return Er;
39
- if (!e)
40
- return;
41
- let { type: t } = e;
42
- if (wr.has(t))
43
- return t;
44
- }
45
- var yr = Dn, xn = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
46
- function Nn(e) {
47
- let t = e === null ? "null" : typeof e;
48
- if (t !== "string" && t !== "object")
49
- return `Unexpected doc '${t}',
50
- Expected it to be 'string' or 'object'.`;
51
- if (yr(e))
52
- throw new Error("doc is valid.");
53
- let r = Object.prototype.toString.call(e);
54
- if (r !== "[object Object]")
55
- return `Unexpected doc '${r}'.`;
56
- let n = xn([...wr].map((a) => `'${a}'`));
57
- return `Unexpected doc.type '${e.type}'.
58
- Expected it to be ${n}.`;
59
- }
60
- var Bn = class extends Error {
61
- constructor(t) {
62
- super(Nn(t));
63
- Je(this, "name", "InvalidDocError");
64
- this.doc = t;
65
- }
66
- }, Ln = Bn;
67
- function Dr(e, t) {
68
- if (typeof e == "string")
69
- return t(e);
70
- let r = /* @__PURE__ */ new Map();
71
- return n(e);
72
- function n(i) {
73
- if (r.has(i))
74
- return r.get(i);
75
- let s = a(i);
76
- return r.set(i, s), s;
77
- }
78
- function a(i) {
79
- switch (yr(i)) {
80
- case Er:
81
- return t(i.map(n));
82
- case At:
83
- return t({ ...i, parts: i.parts.map(n) });
84
- case Tt:
85
- return t({ ...i, breakContents: n(i.breakContents), flatContents: n(i.flatContents) });
86
- case St: {
87
- let { expandedStates: s, contents: o } = i;
88
- return s ? (s = s.map(n), o = s[0]) : o = n(o), t({ ...i, contents: o, expandedStates: s });
89
- }
90
- case Et:
91
- case vt:
92
- case bt:
93
- case kr:
94
- case Tr:
95
- return t({ ...i, contents: n(i.contents) });
96
- case vr:
97
- case Sr:
98
- case Ar:
99
- case br:
100
- case te:
101
- case kt:
102
- return t(i);
103
- default:
104
- throw new Ln(i);
105
- }
106
- }
107
- }
108
- function O(e, t = qn) {
109
- return Dr(e, (r) => typeof r == "string" ? re(t, r.split(`
110
- `)) : r);
111
- }
112
- var On = yn;
113
- function F(e) {
114
- return { type: vt, contents: e };
115
- }
116
- function Fn(e, t) {
117
- return { type: Et, contents: t, n: e };
118
- }
119
- function Pn(e) {
120
- return Fn(Number.NEGATIVE_INFINITY, e);
121
- }
122
- var Ae = { type: kt };
123
- function xr(e) {
124
- return { type: At, parts: e };
125
- }
126
- function A(e, t = {}) {
127
- return On(t.expandedStates), { type: St, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates };
128
- }
129
- function Ce(e, t = "", r = {}) {
130
- return { type: Tt, breakContents: e, flatContents: t, groupId: r.groupId };
131
- }
132
- function In(e, t) {
133
- return { type: bt, contents: e, groupId: t.groupId, negate: t.negate };
134
- }
135
- function re(e, t) {
136
- let r = [];
137
- for (let n = 0; n < t.length; n++)
138
- n !== 0 && r.push(e), r.push(t[n]);
139
- return r;
140
- }
141
- var S = { type: te }, b = { type: te, soft: !0 }, Rn = { type: te, hard: !0 }, E = [Rn, Ae], Mn = { type: te, hard: !0, literal: !0 }, qn = [Mn, Ae], Nr = Object.freeze({ character: "'", codePoint: 39 }), Br = Object.freeze({ character: '"', codePoint: 34 }), Hn = Object.freeze({ preferred: Nr, alternate: Br }), Vn = Object.freeze({ preferred: Br, alternate: Nr });
142
- function Un(e, t) {
143
- let { preferred: r, alternate: n } = t === !0 || t === "'" ? Hn : Vn, { length: a } = e, i = 0, s = 0;
144
- for (let o = 0; o < a; o++) {
145
- let l = e.charCodeAt(o);
146
- l === r.codePoint ? i++ : l === n.codePoint && s++;
147
- }
148
- return (i > s ? n : r).character;
149
- }
150
- var Wn = Un;
151
- function zn(e) {
152
- if (typeof e != "string")
153
- throw new TypeError("Expected a string");
154
- return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
155
- }
156
- var D, Ve, Lr, gr, $n = (gr = class {
157
- constructor(e) {
158
- Ze(this, Ve);
159
- Ze(this, D, void 0);
160
- It(this, D, new Set(e));
161
- }
162
- getLeadingWhitespaceCount(e) {
163
- let t = I(this, D), r = 0;
164
- for (let n = 0; n < e.length && t.has(e.charAt(n)); n++)
165
- r++;
166
- return r;
167
- }
168
- getTrailingWhitespaceCount(e) {
169
- let t = I(this, D), r = 0;
170
- for (let n = e.length - 1; n >= 0 && t.has(e.charAt(n)); n--)
171
- r++;
172
- return r;
173
- }
174
- getLeadingWhitespace(e) {
175
- let t = this.getLeadingWhitespaceCount(e);
176
- return e.slice(0, t);
177
- }
178
- getTrailingWhitespace(e) {
179
- let t = this.getTrailingWhitespaceCount(e);
180
- return e.slice(e.length - t);
181
- }
182
- hasLeadingWhitespace(e) {
183
- return I(this, D).has(e.charAt(0));
184
- }
185
- hasTrailingWhitespace(e) {
186
- return I(this, D).has(ee(0, e, -1));
187
- }
188
- trimStart(e) {
189
- let t = this.getLeadingWhitespaceCount(e);
190
- return e.slice(t);
191
- }
192
- trimEnd(e) {
193
- let t = this.getTrailingWhitespaceCount(e);
194
- return e.slice(0, e.length - t);
195
- }
196
- trim(e) {
197
- return this.trimEnd(this.trimStart(e));
198
- }
199
- split(e, t = !1) {
200
- let r = `[${zn([...I(this, D)].join(""))}]+`, n = new RegExp(t ? `(${r})` : r, "u");
201
- return e.split(n);
202
- }
203
- hasWhitespaceCharacter(e) {
204
- let t = I(this, D);
205
- return Array.prototype.some.call(e, (r) => t.has(r));
206
- }
207
- hasNonWhitespaceCharacter(e) {
208
- let t = I(this, D);
209
- return Array.prototype.some.call(e, (r) => !t.has(r));
210
- }
211
- isWhitespaceOnly(e) {
212
- let t = I(this, D);
213
- return Array.prototype.every.call(e, (r) => t.has(r));
214
- }
215
- dedentString(e) {
216
- let t = Rt(this, Ve, Lr).call(this, e);
217
- return t === 0 ? e : e.split(`
218
- `).map((r) => r.slice(t)).join(`
219
- `);
220
- }
221
- }, D = new WeakMap(), Ve = new WeakSet(), Lr = function(e) {
222
- let t = Number.POSITIVE_INFINITY;
223
- for (let r of e.split(`
224
- `)) {
225
- if (r.length === 0)
226
- continue;
227
- let n = this.getLeadingWhitespaceCount(r);
228
- if (n === 0)
229
- return 0;
230
- r.length !== n && n < t && (t = n);
231
- }
232
- return t === Number.POSITIVE_INFINITY ? 0 : t;
233
- }, gr), jn = $n, Xn = [" ", `
234
- `, "\f", "\r", " "], Gn = new jn(Xn), N = Gn, Kn = class extends Error {
235
- constructor(t, r, n = "type") {
236
- super(`Unexpected ${r} node ${n}: ${JSON.stringify(t[n])}.`);
237
- Je(this, "name", "UnexpectedNodeError");
238
- this.node = t;
239
- }
240
- }, Yn = Kn, Jn = /* @__PURE__ */ new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan", "keySpan", "tagDefinition", "tokens", "valueTokens", "switchValueSourceSpan", "expSourceSpan", "valueSourceSpan"]), Qn = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
241
- function Or(e, t, r) {
242
- var n;
243
- if (e.kind === "text" || e.kind === "comment")
244
- return null;
245
- if (e.kind === "yaml" && delete t.value, e.kind === "attribute") {
246
- let { fullName: a, value: i } = e;
247
- a === "style" || a === "class" || a === "srcset" && (r.fullName === "img" || r.fullName === "source") || a === "allow" && r.fullName === "iframe" || a.startsWith("on") || a.startsWith("@") || a.startsWith(":") || a.startsWith(".") || a.startsWith("#") || a.startsWith("v-") || a === "vars" && r.fullName === "style" || (a === "setup" || a === "generic") && r.fullName === "script" || a === "slot-scope" || a.startsWith("(") || a.startsWith("[") || a.startsWith("*") || a.startsWith("bind") || a.startsWith("i18n") || a.startsWith("on-") || a.startsWith("ng-") || i != null && i.includes("{{") ? delete t.value : i && (t.value = k(0, i, /'|&quot;|&apos;/gu, '"'));
248
- }
249
- if (e.kind === "docType" && (t.value = k(0, e.value.toLowerCase(), /\s+/gu, " ")), e.kind === "angularControlFlowBlock" && ((n = e.parameters) == null ? void 0 : n.children))
250
- for (let a of t.parameters.children)
251
- Qn.has(e.name) ? delete a.expression : a.expression = a.expression.trim();
252
- e.kind === "angularIcuExpression" && (t.switchValue = e.switchValue.trim()), e.kind === "angularLetDeclarationInitializer" && delete t.value, e.kind === "element" && e.isVoid && !e.isSelfClosing && (t.isSelfClosing = !0);
253
- }
254
- Or.ignoredProperties = Jn;
255
- var Zn = Or;
256
- function Te(e, t = !0) {
257
- return [F([b, e]), t ? b : ""];
258
- }
259
- function ne(e, t) {
260
- let r = e.type === "NGRoot" ? e.node.type === "NGMicrosyntax" && e.node.body.length === 1 && e.node.body[0].type === "NGMicrosyntaxExpression" ? e.node.body[0].expression : e.node : e.type === "JsExpressionRoot" ? e.node : e;
261
- return r && (r.type === "ObjectExpression" || r.type === "ArrayExpression" || (t.parser === "__vue_expression" || t.parser === "__vue_ts_expression") && (r.type === "TemplateLiteral" || r.type === "StringLiteral"));
262
- }
263
- async function B(e, t, r, n) {
264
- r = { __isInHtmlAttribute: !0, __embeddedInHtml: !0, ...r };
265
- let a = !0;
266
- n && (r.__onHtmlBindingRoot = (s, o) => {
267
- a = n(s, o);
268
- });
269
- let i = await t(e, r, t);
270
- return a ? A(i) : Te(i);
271
- }
272
- function ea(e, t, r, n) {
273
- let { node: a } = r, i = n.originalText.slice(a.sourceSpan.start.offset, a.sourceSpan.end.offset);
274
- return /^\s*$/u.test(i) ? "" : B(i, e, { parser: "__ng_directive", __isInHtmlAttribute: !1 }, ne);
275
- }
276
- var ta = ea, ra = Array.prototype.toReversed ?? function() {
277
- return [...this].reverse();
278
- }, na = Ct("toReversed", function() {
279
- if (Array.isArray(this))
280
- return ra;
281
- }), aa = na;
282
- function ia() {
283
- var r, n, a, i, s, o;
284
- let e = globalThis, t = (n = (r = e.Deno) == null ? void 0 : r.build) == null ? void 0 : n.os;
285
- return typeof t == "string" ? t === "windows" : ((i = (a = e.navigator) == null ? void 0 : a.platform) == null ? void 0 : i.startsWith("Win")) ?? ((o = (s = e.process) == null ? void 0 : s.platform) == null ? void 0 : o.startsWith("win")) ?? !1;
286
- }
287
- var sa = ia();
288
- function Fr(e) {
289
- if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:")
290
- throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
291
- return e;
292
- }
293
- function oa(e) {
294
- return e = Fr(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
295
- }
296
- function ua(e) {
297
- e = Fr(e);
298
- let t = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
299
- return e.hostname !== "" && (t = `\\\\${e.hostname}${t}`), t;
300
- }
301
- function la(e) {
302
- return sa ? ua(e) : oa(e);
303
- }
304
- var ca = (e) => String(e).split(/[/\\]/u).pop(), pa = (e) => String(e).startsWith("file:");
305
- function ha(e) {
306
- return Array.isArray(e) && e.length > 0;
307
- }
308
- var wt = ha;
309
- function qt(e, t) {
310
- if (!t)
311
- return;
312
- let r = ca(t).toLowerCase();
313
- return e.find(({ filenames: n }) => n == null ? void 0 : n.some((a) => a.toLowerCase() === r)) ?? e.find(({ extensions: n }) => n == null ? void 0 : n.some((a) => r.endsWith(a)));
314
- }
315
- function da(e, t) {
316
- if (t)
317
- return e.find(({ name: r }) => r.toLowerCase() === t) ?? e.find(({ aliases: r }) => r == null ? void 0 : r.includes(t)) ?? e.find(({ extensions: r }) => r == null ? void 0 : r.includes(`.${t}`));
318
- }
319
- var et = void 0;
320
- function Ht(e, t) {
321
- if (t) {
322
- if (pa(t))
323
- try {
324
- t = la(t);
325
- } catch {
326
- return;
327
- }
328
- if (typeof t == "string")
329
- return e.find(({ isSupported: r }) => r == null ? void 0 : r({ filepath: t }));
330
- }
331
- }
332
- function ma(e, t) {
333
- var n;
334
- let r = aa(0, e.plugins).flatMap((a) => a.languages ?? []);
335
- return (n = da(r, t.language) ?? qt(r, t.physicalFile) ?? qt(r, t.file) ?? Ht(r, t.physicalFile) ?? Ht(r, t.file) ?? (et == null ? void 0 : et(r, t.physicalFile))) == null ? void 0 : n.parsers[0];
336
- }
337
- var yt = ma, Pr = Symbol.for("PRETTIER_IS_FRONT_MATTER");
338
- function ga(e) {
339
- return !!(e != null && e[Pr]);
340
- }
341
- var Ue = ga, oe = 3;
342
- function fa(e) {
343
- let t = e.slice(0, oe);
344
- if (t !== "---" && t !== "+++")
345
- return;
346
- let r = e.indexOf(`
347
- `, oe);
348
- if (r === -1)
349
- return;
350
- let n = e.slice(oe, r).trim(), a = e.indexOf(`
351
- ${t}`, r), i = n;
352
- if (i || (i = t === "+++" ? "toml" : "yaml"), a === -1 && t === "---" && i === "yaml" && (a = e.indexOf(`
353
- ...`, r)), a === -1)
354
- return;
355
- let s = a + 1 + oe, o = e.charAt(s + 1);
356
- if (!/\s?/u.test(o))
357
- return;
358
- let l = e.slice(0, s), c;
359
- return { language: i, explicitLanguage: n || null, value: e.slice(r + 1, a), startDelimiter: t, endDelimiter: l.slice(-oe), raw: l, start: { line: 1, column: 0, index: 0 }, end: { index: l.length, get line() {
360
- return c ?? (c = l.split(`
361
- `)), c.length;
362
- }, get column() {
363
- return c ?? (c = l.split(`
364
- `)), ee(0, c, -1).length;
365
- } }, [Pr]: !0 };
366
- }
367
- function _a(e) {
368
- let t = fa(e);
369
- return t ? { frontMatter: t, get content() {
370
- let { raw: r } = t;
371
- return k(0, r, /[^\n]/gu, " ") + e.slice(r.length);
372
- } } : { content: e };
373
- }
374
- var Ca = _a, va = "inline", Vt = { area: "none", base: "none", basefont: "none", datalist: "none", head: "none", link: "none", meta: "none", noembed: "none", noframes: "none", param: "block", rp: "none", script: "block", style: "none", template: "inline", title: "none", html: "block", body: "block", address: "block", blockquote: "block", center: "block", dialog: "block", div: "block", figure: "block", figcaption: "block", footer: "block", form: "block", header: "block", hr: "block", legend: "block", listing: "block", main: "block", p: "block", plaintext: "block", pre: "block", search: "block", xmp: "block", slot: "contents", ruby: "ruby", rt: "ruby-text", article: "block", aside: "block", h1: "block", h2: "block", h3: "block", h4: "block", h5: "block", h6: "block", hgroup: "block", nav: "block", section: "block", dir: "block", dd: "block", dl: "block", dt: "block", menu: "block", ol: "block", ul: "block", li: "list-item", table: "table", caption: "table-caption", colgroup: "table-column-group", col: "table-column", thead: "table-header-group", tbody: "table-row-group", tfoot: "table-footer-group", tr: "table-row", td: "table-cell", th: "table-cell", input: "inline-block", button: "inline-block", fieldset: "block", details: "block", summary: "block", marquee: "inline-block", select: "inline-block", source: "block", track: "block", meter: "inline-block", progress: "inline-block", object: "inline-block", video: "inline-block", audio: "inline-block", option: "block", optgroup: "block" }, Ea = "normal", Ut = { listing: "pre", plaintext: "pre", pre: "pre", xmp: "pre", nobr: "nowrap", table: "initial", textarea: "pre-wrap" };
375
- function Sa(e) {
376
- return e.kind === "element" && !e.hasExplicitNamespace && !["html", "svg"].includes(e.namespace);
377
- }
378
- var be = Sa, Aa = (e) => k(0, e, /^[\t\f\r ]*\n/gu, ""), Ir = (e) => Aa(N.trimEnd(e)), Ta = (e) => {
379
- let t = e, r = N.getLeadingWhitespace(t);
380
- r && (t = t.slice(r.length));
381
- let n = N.getTrailingWhitespace(t);
382
- return n && (t = t.slice(0, -n.length)), { leadingWhitespace: r, trailingWhitespace: n, text: t };
383
- };
384
- function Rr(e, t) {
385
- return !!(e.kind === "ieConditionalComment" && e.lastChild && !e.lastChild.isSelfClosing && !e.lastChild.endSourceSpan || e.kind === "ieConditionalComment" && !e.complete || Z(e) && e.children.some((r) => r.kind !== "text" && r.kind !== "interpolation") || xt(e, t) && !M(e, t) && e.kind !== "interpolation");
386
- }
387
- function We(e) {
388
- return e.kind === "attribute" || !e.parent || !e.prev ? !1 : ba(e.prev);
389
- }
390
- function ba(e) {
391
- return e.kind === "comment" && e.value.trim() === "prettier-ignore";
392
- }
393
- function x(e) {
394
- return e.kind === "text" || e.kind === "comment";
395
- }
396
- function M(e, t) {
397
- return e.kind === "element" && (e.fullName === "script" || e.fullName === "style" || e.fullName === "svg:style" || e.fullName === "svg:script" || e.fullName === "mj-style" && t.parser === "mjml" || be(e) && (e.name === "script" || e.name === "style"));
398
- }
399
- function ka(e, t) {
400
- return e.children && !M(e, t);
401
- }
402
- function wa(e, t) {
403
- return M(e, t) || e.kind === "interpolation" || Mr(e);
404
- }
405
- function Mr(e) {
406
- return $r(e).startsWith("pre");
407
- }
408
- function ya(e, t) {
409
- var a, i;
410
- let r = n();
411
- if (r && !e.prev && ((i = (a = e.parent) == null ? void 0 : a.tagDefinition) != null && i.ignoreFirstLf))
412
- return e.kind === "interpolation";
413
- return r;
414
- function n() {
415
- return Ue(e) || e.kind === "angularControlFlowBlock" ? !1 : (e.kind === "text" || e.kind === "interpolation") && e.prev && (e.prev.kind === "text" || e.prev.kind === "interpolation") ? !0 : !e.parent || e.parent.cssDisplay === "none" ? !1 : Z(e.parent) ? !0 : !(!e.prev && (e.parent.kind === "root" || Z(e) && e.parent || M(e.parent, t) || ze(e.parent, t) || !Ia(e.parent.cssDisplay)) || e.prev && !qa(e.prev.cssDisplay));
416
- }
417
- }
418
- function Da(e, t) {
419
- return Ue(e) || e.kind === "angularControlFlowBlock" ? !1 : (e.kind === "text" || e.kind === "interpolation") && e.next && (e.next.kind === "text" || e.next.kind === "interpolation") ? !0 : !e.parent || e.parent.cssDisplay === "none" ? !1 : Z(e.parent) ? !0 : !(!e.next && (e.parent.kind === "root" || Z(e) && e.parent || M(e.parent, t) || ze(e.parent, t) || !Ra(e.parent.cssDisplay)) || e.next && !Ma(e.next.cssDisplay));
420
- }
421
- function xa(e, t) {
422
- return Ha(e.cssDisplay) && !M(e, t);
423
- }
424
- function Le(e) {
425
- return Ue(e) || e.next && e.sourceSpan.end && e.sourceSpan.end.line + 1 < e.next.sourceSpan.start.line;
426
- }
427
- function Na(e) {
428
- return qr(e) || e.kind === "element" && e.children.length > 0 && (["body", "script", "style"].includes(e.name) || e.children.some((t) => La(t))) || e.firstChild && e.firstChild === e.lastChild && e.firstChild.kind !== "text" && Vr(e.firstChild) && (!e.lastChild.isTrailingSpaceSensitive || Ur(e.lastChild));
429
- }
430
- function qr(e) {
431
- return e.kind === "element" && e.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(e.name) || e.cssDisplay.startsWith("table") && e.cssDisplay !== "table-cell");
432
- }
433
- function tt(e) {
434
- return Wr(e) || e.prev && Ba(e.prev) || Hr(e);
435
- }
436
- function Ba(e) {
437
- return Wr(e) || e.kind === "element" && e.fullName === "br" || Hr(e);
438
- }
439
- function Hr(e) {
440
- return Vr(e) && Ur(e);
441
- }
442
- function Vr(e) {
443
- return e.hasLeadingSpaces && (e.prev ? e.prev.sourceSpan.end.line < e.sourceSpan.start.line : e.parent.kind === "root" || e.parent.startSourceSpan.end.line < e.sourceSpan.start.line);
444
- }
445
- function Ur(e) {
446
- return e.hasTrailingSpaces && (e.next ? e.next.sourceSpan.start.line > e.sourceSpan.end.line : e.parent.kind === "root" || e.parent.endSourceSpan && e.parent.endSourceSpan.start.line > e.sourceSpan.end.line);
447
- }
448
- function Wr(e) {
449
- switch (e.kind) {
450
- case "ieConditionalComment":
451
- case "comment":
452
- case "directive":
453
- return !0;
454
- case "element":
455
- return ["script", "select"].includes(e.name);
456
- }
457
- return !1;
458
- }
459
- function Dt(e) {
460
- return e.lastChild ? Dt(e.lastChild) : e;
461
- }
462
- function La(e) {
463
- var t;
464
- return (t = e.children) == null ? void 0 : t.some((r) => r.kind !== "text");
465
- }
466
- function zr(e) {
467
- if (e)
468
- switch (e) {
469
- case "module":
470
- case "text/javascript":
471
- case "text/babel":
472
- case "text/jsx":
473
- case "application/javascript":
474
- return "babel";
475
- case "application/x-typescript":
476
- return "typescript";
477
- case "text/markdown":
478
- return "markdown";
479
- case "text/html":
480
- return "html";
481
- case "text/x-handlebars-template":
482
- return "glimmer";
483
- default:
484
- if (e.endsWith("json") || e.endsWith("importmap") || e === "speculationrules")
485
- return "json";
486
- }
487
- }
488
- function Oa(e, t) {
489
- let { name: r, attrMap: n } = e;
490
- if (r !== "script" || Object.prototype.hasOwnProperty.call(n, "src"))
491
- return;
492
- let { type: a, lang: i } = e.attrMap;
493
- return !i && !a ? "babel" : yt(t, { language: i }) ?? zr(a);
494
- }
495
- function Fa(e, t) {
496
- if (!xt(e, t))
497
- return;
498
- let { attrMap: r } = e;
499
- if (Object.prototype.hasOwnProperty.call(r, "src"))
500
- return;
501
- let { type: n, lang: a } = r;
502
- return yt(t, { language: a }) ?? zr(n);
503
- }
504
- function Pa(e, t) {
505
- if (e.name === "style") {
506
- let { lang: r } = e.attrMap;
507
- return r ? yt(t, { language: r }) : "css";
508
- }
509
- if (e.name === "mj-style" && t.parser === "mjml")
510
- return "css";
511
- }
512
- function Wt(e, t) {
513
- return Oa(e, t) ?? Pa(e, t) ?? Fa(e, t);
514
- }
515
- function ke(e) {
516
- return e === "block" || e === "list-item" || e.startsWith("table");
517
- }
518
- function Ia(e) {
519
- return !ke(e) && e !== "inline-block";
520
- }
521
- function Ra(e) {
522
- return !ke(e) && e !== "inline-block";
523
- }
524
- function Ma(e) {
525
- return !ke(e);
526
- }
527
- function qa(e) {
528
- return !ke(e);
529
- }
530
- function Ha(e) {
531
- return !ke(e) && e !== "inline-block";
532
- }
533
- function Z(e) {
534
- return $r(e).startsWith("pre");
535
- }
536
- function Va(e, t) {
537
- let r = e;
538
- for (; r; ) {
539
- if (t(r))
540
- return !0;
541
- r = r.parent;
542
- }
543
- return !1;
544
- }
545
- function Ua(e, t) {
546
- var n;
547
- if (ae(e, t))
548
- return "block";
549
- if (((n = e.prev) == null ? void 0 : n.kind) === "comment") {
550
- let a = e.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/u);
551
- if (a)
552
- return a[1];
553
- }
554
- let r = !1;
555
- if (e.kind === "element" && e.namespace === "svg")
556
- if (Va(e, (a) => a.fullName === "svg:foreignObject"))
557
- r = !0;
558
- else
559
- return e.name === "svg" ? "inline-block" : "block";
560
- switch (t.htmlWhitespaceSensitivity) {
561
- case "strict":
562
- return "inline";
563
- case "ignore":
564
- return "block";
565
- default:
566
- if (e.kind === "element" && (!e.namespace || r || be(e)) && Object.prototype.hasOwnProperty.call(Vt, e.name))
567
- return Vt[e.name];
568
- }
569
- return va;
570
- }
571
- function $r(e) {
572
- return e.kind === "element" && (!e.namespace || be(e)) && Object.prototype.hasOwnProperty.call(Ut, e.name) ? Ut[e.name] : Ea;
573
- }
574
- function jr(e) {
575
- return k(0, k(0, e, "&apos;", "'"), "&quot;", '"');
576
- }
577
- function w(e) {
578
- return jr(e.value);
579
- }
580
- var Wa = /* @__PURE__ */ new Set(["template", "style", "script"]);
581
- function ze(e, t) {
582
- return ae(e, t) && !Wa.has(e.fullName);
583
- }
584
- function ae(e, t) {
585
- return t.parser === "vue" && e.kind === "element" && e.parent.kind === "root" && e.fullName.toLowerCase() !== "html";
586
- }
587
- function xt(e, t) {
588
- return ae(e, t) && (ze(e, t) || e.attrMap.lang && e.attrMap.lang !== "html");
589
- }
590
- function za(e) {
591
- let t = e.fullName;
592
- return t.charAt(0) === "#" || t === "slot-scope" || t === "v-slot" || t.startsWith("v-slot:");
593
- }
594
- function $a(e, t) {
595
- let r = e.parent;
596
- if (!ae(r, t))
597
- return !1;
598
- let n = r.fullName, a = e.fullName;
599
- return n === "script" && a === "setup" || n === "style" && a === "vars";
600
- }
601
- function Xr(e, t = e.value) {
602
- return e.parent.isWhitespaceSensitive ? e.parent.isIndentationSensitive ? O(t) : O(N.dedentString(Ir(t)), E) : re(S, N.split(t));
603
- }
604
- function Gr(e, t) {
605
- return ae(e, t) && e.name === "script";
606
- }
607
- function ja(e) {
608
- let { valueSpan: t, value: r } = e;
609
- return t.end.offset - t.start.offset === r.length + 2;
610
- }
611
- function Kr(e, t) {
612
- if (ja(e))
613
- return !1;
614
- let { value: r } = e;
615
- return /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(r) || t.parser === "lwc" && r.startsWith("{") && r.endsWith("}");
616
- }
617
- var Yr = /\{\{(.+?)\}\}/su, Xa = ({ node: { value: e } }) => Yr.test(e);
618
- async function Ga(e, t, r) {
619
- let n = w(r.node), a = [];
620
- for (let [i, s] of n.split(Yr).entries())
621
- if (i % 2 === 0)
622
- a.push(O(s));
623
- else
624
- try {
625
- a.push(A(["{{", F([S, await B(s, e, { parser: "__ng_interpolation", __isInHtmlInterpolation: !0 })]), S, "}}"]));
626
- } catch {
627
- a.push("{{", O(s), "}}");
628
- }
629
- return a;
630
- }
631
- var rt = (e) => (t, r, n) => B(w(n.node), t, { parser: e }, ne), Ka = [{ test(e) {
632
- let t = e.node.fullName;
633
- return t.startsWith("(") && t.endsWith(")") || t.startsWith("on-");
634
- }, print: rt("__ng_action") }, { test(e) {
635
- let t = e.node.fullName;
636
- return t.startsWith("[") && t.endsWith("]") || /^bind(?:on)?-/u.test(t) || /^ng-(?:if|show|hide|class|style)$/u.test(t);
637
- }, print: rt("__ng_binding") }, { test: (e) => e.node.fullName.startsWith("*"), print: rt("__ng_directive") }, { test: (e) => /^i18n(?:-.+)?$/u.test(e.node.fullName), print: Ya }, { test: Xa, print: Ga }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "angular" && e(r), print: t }));
638
- function Ya(e, t, { node: r }) {
639
- let n = w(r);
640
- return Te(xr(Xr(r, n.trim())), !n.includes("@@"));
641
- }
642
- var Ja = Ka, Qa = ({ node: e }, t) => !t.parentParser && e.fullName === "class" && !e.value.includes("{{"), Za = (e, t, r) => w(r.node).trim().split(/\s+/u).join(" "), ei = ["onabort", "onafterprint", "onauxclick", "onbeforeinput", "onbeforematch", "onbeforeprint", "onbeforetoggle", "onbeforeunload", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncommand", "oncontextlost", "oncontextmenu", "oncontextrestored", "oncopy", "oncuechange", "oncut", "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "onhashchange", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onlanguagechange", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onmessage", "onmessageerror", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onoffline", "ononline", "onpagehide", "onpagereveal", "onpageshow", "onpageswap", "onpaste", "onpause", "onplay", "onplaying", "onpopstate", "onprogress", "onratechange", "onrejectionhandled", "onreset", "onresize", "onscroll", "onscrollend", "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", "onslotchange", "onstalled", "onstorage", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", "onwheel"], ti = new Set(ei), ri = ({ node: e }, t) => ti.has(e.fullName) && !t.parentParser && !e.value.includes("{{"), ni = (e, t, r) => B(w(r.node), e, { parser: "babel", __isHtmlInlineEventHandler: !0 }, () => !1);
643
- function ai(e) {
644
- let t = [];
645
- for (let r of e.split(";")) {
646
- if (r = N.trim(r), !r)
647
- continue;
648
- let [n, ...a] = N.split(r);
649
- t.push({ name: n, value: a });
650
- }
651
- return t;
652
- }
653
- var ii = ai, si = ({ node: e }, t) => e.fullName === "allow" && !t.parentParser && e.parent.fullName === "iframe" && !e.value.includes("{{");
654
- function oi(e, t, r) {
655
- let { node: n } = r, a = ii(w(n));
656
- return a.length === 0 ? [""] : Te(a.map(({ name: i, value: s }, o) => [[i, ...s].join(" "), o === a.length - 1 ? Ce(";") : [";", S]]));
657
- }
658
- function zt(e) {
659
- return e === " " || e === `
660
- ` || e === "\f" || e === "\r" || e === " ";
661
- }
662
- var ui = /^[ \t\n\r\u000c]+/, li = /^[, \t\n\r\u000c]+/, ci = /^[^ \t\n\r\u000c]+/, pi = /[,]+$/, $t = /^\d+$/, hi = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;
663
- function di(e) {
664
- let t = e.length, r, n, a, i, s, o = 0, l;
665
- function c(h) {
666
- let _, C = h.exec(e.substring(o));
667
- if (C)
668
- return [_] = C, o += _.length, _;
669
- }
670
- let p = [];
671
- for (; ; ) {
672
- if (c(li), o >= t) {
673
- if (p.length === 0)
674
- throw new Error("Must contain one or more image candidate strings.");
675
- return p;
676
- }
677
- l = o, r = c(ci), n = [], r.slice(-1) === "," ? (r = r.replace(pi, ""), f()) : g();
678
- }
679
- function g() {
680
- for (c(ui), a = "", i = "in descriptor"; ; ) {
681
- if (s = e.charAt(o), i === "in descriptor")
682
- if (zt(s))
683
- a && (n.push(a), a = "", i = "after descriptor");
684
- else if (s === ",") {
685
- o += 1, a && n.push(a), f();
686
- return;
687
- } else if (s === "(")
688
- a += s, i = "in parens";
689
- else if (s === "") {
690
- a && n.push(a), f();
691
- return;
692
- } else
693
- a += s;
694
- else if (i === "in parens")
695
- if (s === ")")
696
- a += s, i = "in descriptor";
697
- else if (s === "") {
698
- n.push(a), f();
699
- return;
700
- } else
701
- a += s;
702
- else if (i === "after descriptor" && !zt(s))
703
- if (s === "") {
704
- f();
705
- return;
706
- } else
707
- i = "in descriptor", o -= 1;
708
- o += 1;
709
- }
710
- }
711
- function f() {
712
- let h = !1, _, C, L, P, V = {}, q, Ne, K, se, Ye;
713
- for (P = 0; P < n.length; P++)
714
- q = n[P], Ne = q[q.length - 1], K = q.substring(0, q.length - 1), se = parseInt(K, 10), Ye = parseFloat(K), $t.test(K) && Ne === "w" ? ((_ || C) && (h = !0), se === 0 ? h = !0 : _ = se) : hi.test(K) && Ne === "x" ? ((_ || C || L) && (h = !0), Ye < 0 ? h = !0 : C = Ye) : $t.test(K) && Ne === "h" ? ((L || C) && (h = !0), se === 0 ? h = !0 : L = se) : h = !0;
715
- if (!h)
716
- V.source = { value: r, startOffset: l }, _ && (V.width = { value: _ }), C && (V.density = { value: C }), L && (V.height = { value: L }), p.push(V);
717
- else
718
- throw new Error(`Invalid srcset descriptor found in "${e}" at "${q}".`);
719
- }
720
- }
721
- var mi = di, gi = (e) => e.node.fullName === "srcset" && (e.parent.fullName === "img" || e.parent.fullName === "source"), Jr = { width: "w", height: "h", density: "x" }, fi = Object.keys(Jr);
722
- function _i(e, t, r) {
723
- let n = w(r.node), a = mi(n), i = fi.filter((h) => a.some((_) => Object.prototype.hasOwnProperty.call(_, h)));
724
- if (i.length > 1)
725
- throw new Error("Mixed descriptor in srcset is not supported");
726
- let [s] = i, o = Jr[s], l = a.map((h) => h.source.value), c = Math.max(...l.map((h) => h.length)), p = a.map((h) => h[s] ? String(h[s].value) : ""), g = p.map((h) => {
727
- let _ = h.indexOf(".");
728
- return _ === -1 ? h.length : _;
729
- }), f = Math.max(...g);
730
- return Te(re([",", S], l.map((h, _) => {
731
- let C = [h], L = p[_];
732
- if (L) {
733
- let P = c - h.length + 1, V = f - g[_], q = " ".repeat(P + V);
734
- C.push(Ce(q, " "), L + o);
735
- }
736
- return C;
737
- })));
738
- }
739
- var Ci = ({ node: e }, t) => e.fullName === "style" && !t.parentParser && !e.value.includes("{{"), vi = async (e, t, r) => Te(await e(w(r.node), { parser: "css", __isHTMLStyleAttribute: !0 })), nt = /* @__PURE__ */ new WeakMap();
740
- function Ei(e, t) {
741
- let { root: r } = e;
742
- return nt.has(r) || nt.set(r, r.children.some((n) => Gr(n, t) && ["ts", "typescript"].includes(n.attrMap.lang))), nt.get(r);
743
- }
744
- var ie = Ei;
745
- function Si(e, t, r) {
746
- let n = w(r.node);
747
- return B(`type T<${n}> = any`, e, { parser: "babel-ts", __isEmbeddedTypescriptGenericParameters: !0 }, ne);
748
- }
749
- function Ai(e, t, r, n) {
750
- let a = w(r.node), i = ie(r, n) ? "babel-ts" : "babel";
751
- return B(`function _(${a}) {}`, e, { parser: i, __isVueBindings: !0 });
752
- }
753
- async function Ti(e, t, r, n) {
754
- let a = w(r.node), { left: i, operator: s, right: o } = bi(a), l = ie(r, n);
755
- return [A(await B(`function _(${i}) {}`, e, { parser: l ? "babel-ts" : "babel", __isVueForBindingLeft: !0 })), " ", s, " ", await B(o, e, { parser: l ? "__ts_expression" : "__js_expression" })];
756
- }
757
- function bi(e) {
758
- let t = /(.*?)\s+(in|of)\s+(.*)/su, r = /,([^,\]}]*)(?:,([^,\]}]*))?$/u, n = /^\(|\)$/gu, a = e.match(t);
759
- if (!a)
760
- return;
761
- let i = { for: a[3].trim() };
762
- if (!i.for)
763
- return;
764
- let s = k(0, a[1].trim(), n, ""), o = s.match(r);
765
- o ? (i.alias = s.replace(r, ""), i.iterator1 = o[1].trim(), o[2] && (i.iterator2 = o[2].trim())) : i.alias = s;
766
- let l = [i.alias, i.iterator1, i.iterator2];
767
- if (!l.some((c, p) => !c && (p === 0 || l.slice(p + 1).some(Boolean))))
768
- return { left: l.filter(Boolean).join(","), operator: a[2], right: i.for };
769
- }
770
- var ki = [{ test: (e) => e.node.fullName === "v-for", print: Ti }, { test: (e, t) => e.node.fullName === "generic" && Gr(e.parent, t), print: Si }, { test: ({ node: e }, t) => za(e) || $a(e, t), print: Ai }, { test(e) {
771
- let t = e.node.fullName;
772
- return t.startsWith("@") || t.startsWith("v-on:");
773
- }, print: wi }, { test(e) {
774
- let t = e.node.fullName;
775
- return t.startsWith(":") || t.startsWith(".") || t.startsWith("v-bind:");
776
- }, print: yi }, { test: (e) => e.node.fullName.startsWith("v-"), print: Qr }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "vue" && e(r, n), print: t }));
777
- async function wi(e, t, r, n) {
778
- var s;
779
- try {
780
- return await Qr(e, t, r, n);
781
- } catch (o) {
782
- if (((s = o.cause) == null ? void 0 : s.code) !== "BABEL_PARSER_SYNTAX_ERROR")
783
- throw o;
784
- }
785
- let a = w(r.node), i = ie(r, n) ? "__vue_ts_event_binding" : "__vue_event_binding";
786
- return B(a, e, { parser: i }, ne);
787
- }
788
- function yi(e, t, r, n) {
789
- let a = w(r.node), i = ie(r, n) ? "__vue_ts_expression" : "__vue_expression";
790
- return B(a, e, { parser: i }, ne);
791
- }
792
- function Qr(e, t, r, n) {
793
- let a = w(r.node), i = ie(r, n) ? "__ts_expression" : "__js_expression";
794
- return B(a, e, { parser: i }, ne);
795
- }
796
- var Di = ki, xi = [{ test: gi, print: _i }, { test: Ci, print: vi }, { test: ri, print: ni }, { test: Qa, print: Za }, { test: si, print: oi }, ...Di, ...Ja].map(({ test: e, print: t }) => ({ test: e, print: Bi(t) }));
797
- function Ni(e, t) {
798
- var a;
799
- let { node: r } = e, { value: n } = r;
800
- if (n)
801
- return Kr(r, t) ? [r.rawName, "=", n] : (a = xi.find(({ test: i }) => i(e, t))) == null ? void 0 : a.print;
802
- }
803
- function Bi(e) {
804
- return async (t, r, n, a) => {
805
- let i = await e(t, r, n, a);
806
- if (i)
807
- return i = Dr(i, (s) => typeof s == "string" ? k(0, s, '"', "&quot;") : s), [n.node.rawName, '="', A(i), '"'];
808
- };
809
- }
810
- var Li = Ni, we = (e) => e.sourceSpan.start.offset, $e = (e) => e.sourceSpan.end.offset;
811
- function ot(e, t) {
812
- return [e.isSelfClosing ? "" : Oi(e, t), me(e, t)];
813
- }
814
- function Oi(e, t) {
815
- return e.lastChild && ve(e.lastChild) ? "" : [Fi(e, t), Nt(e, t)];
816
- }
817
- function me(e, t) {
818
- return (e.next ? j(e.next) : De(e.parent)) ? "" : [ye(e, t), $(e, t)];
819
- }
820
- function Fi(e, t) {
821
- return De(e) ? ye(e.lastChild, t) : "";
822
- }
823
- function $(e, t) {
824
- return ve(e) ? Nt(e.parent, t) : je(e) ? Bt(e.next, t) : "";
825
- }
826
- function Nt(e, t) {
827
- if (Zr(e, t))
828
- return "";
829
- switch (e.kind) {
830
- case "ieConditionalComment":
831
- return "<!";
832
- case "element":
833
- if (e.hasHtmComponentClosingTag)
834
- return "<//";
835
- default:
836
- return `</${e.rawName}`;
837
- }
838
- }
839
- function ye(e, t) {
840
- if (Zr(e, t))
841
- return "";
842
- switch (e.kind) {
843
- case "ieConditionalComment":
844
- case "ieConditionalEndComment":
845
- return "[endif]-->";
846
- case "ieConditionalStartComment":
847
- return "]><!-->";
848
- case "interpolation":
849
- return "}}";
850
- case "angularIcuExpression":
851
- return "}";
852
- case "element":
853
- if (e.isSelfClosing)
854
- return "/>";
855
- default:
856
- return ">";
857
- }
858
- }
859
- function Zr(e, t) {
860
- return !e.isSelfClosing && !e.endSourceSpan && (We(e) || Rr(e.parent, t));
861
- }
862
- function j(e) {
863
- return e.prev && e.prev.kind !== "docType" && e.kind !== "angularControlFlowBlock" && !x(e.prev) && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
864
- }
865
- function De(e) {
866
- var t;
867
- return ((t = e.lastChild) == null ? void 0 : t.isTrailingSpaceSensitive) && !e.lastChild.hasTrailingSpaces && !x(Dt(e.lastChild)) && !Z(e);
868
- }
869
- function ve(e) {
870
- return !e.next && !e.hasTrailingSpaces && e.isTrailingSpaceSensitive && x(Dt(e));
871
- }
872
- function je(e) {
873
- return e.next && !x(e.next) && x(e) && e.isTrailingSpaceSensitive && !e.hasTrailingSpaces;
874
- }
875
- function Pi(e) {
876
- let t = e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/su);
877
- return t ? t[1] ? t[1].split(/\s+/u) : !0 : !1;
878
- }
879
- function Xe(e) {
880
- return !e.prev && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
881
- }
882
- function Ii(e, t, r) {
883
- var p;
884
- let { node: n } = e;
885
- if (!wt(n.attrs))
886
- return n.isSelfClosing ? " " : "";
887
- let a = ((p = n.prev) == null ? void 0 : p.kind) === "comment" && Pi(n.prev.value), i = typeof a == "boolean" ? () => a : Array.isArray(a) ? (g) => a.includes(g.rawName) : () => !1, s = e.map(({ node: g }) => i(g) ? O(t.originalText.slice(we(g), $e(g))) : r(), "attrs"), o = n.kind === "element" && n.fullName === "script" && n.attrs.length === 1 && n.attrs[0].fullName === "src" && n.children.length === 0, l = t.singleAttributePerLine && n.attrs.length > 1 && !ae(n, t) ? E : S, c = [F([o ? " " : S, re(l, s)])];
888
- return n.firstChild && Xe(n.firstChild) || n.isSelfClosing && De(n.parent) || o ? c.push(n.isSelfClosing ? " " : "") : c.push(t.bracketSameLine ? n.isSelfClosing ? " " : "" : n.isSelfClosing ? S : b), c;
889
- }
890
- function Ri(e) {
891
- return e.firstChild && Xe(e.firstChild) ? "" : Lt(e);
892
- }
893
- function ut(e, t, r) {
894
- let { node: n } = e;
895
- return [ge(n, t), Ii(e, t, r), n.isSelfClosing ? "" : Ri(n)];
896
- }
897
- function ge(e, t) {
898
- return e.prev && je(e.prev) ? "" : [X(e, t), Bt(e, t)];
899
- }
900
- function X(e, t) {
901
- return Xe(e) ? Lt(e.parent) : j(e) ? ye(e.prev, t) : "";
902
- }
903
- var jt = "<!doctype";
904
- function Bt(e, t) {
905
- switch (e.kind) {
906
- case "ieConditionalComment":
907
- case "ieConditionalStartComment":
908
- return `<!--[if ${e.condition}`;
909
- case "ieConditionalEndComment":
910
- return "<!--<!";
911
- case "interpolation":
912
- return "{{";
913
- case "docType": {
914
- if (e.value === "html") {
915
- let { filepath: n } = t;
916
- if (n && /\.html?$/u.test(n))
917
- return jt;
918
- }
919
- let r = we(e);
920
- return t.originalText.slice(r, r + jt.length);
921
- }
922
- case "angularIcuExpression":
923
- return "{";
924
- case "element":
925
- if (e.condition)
926
- return `<!--[if ${e.condition}]><!--><${e.rawName}`;
927
- default:
928
- return `<${e.rawName}`;
929
- }
930
- }
931
- function Lt(e) {
932
- switch (e.kind) {
933
- case "ieConditionalComment":
934
- return "]>";
935
- case "element":
936
- if (e.condition)
937
- return "><!--<![endif]-->";
938
- default:
939
- return ">";
940
- }
941
- }
942
- function Mi(e, t) {
943
- if (!e.endSourceSpan)
944
- return "";
945
- let r = e.startSourceSpan.end.offset;
946
- e.firstChild && Xe(e.firstChild) && (r -= Lt(e).length);
947
- let n = e.endSourceSpan.start.offset;
948
- return e.lastChild && ve(e.lastChild) ? n += Nt(e, t).length : De(e) && (n -= ye(e.lastChild, t).length), t.originalText.slice(r, n);
949
- }
950
- var en = Mi, qi = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
951
- function Hi(e, t) {
952
- let { node: r } = e;
953
- switch (r.kind) {
954
- case "element":
955
- if (M(r, t) || r.kind === "interpolation")
956
- return;
957
- if (!r.isSelfClosing && xt(r, t)) {
958
- let n = Wt(r, t);
959
- return n ? async (a, i) => {
960
- let s = en(r, t), o = /^\s*$/u.test(s), l = "";
961
- return o || (l = await a(Ir(s), { parser: n, __embeddedInHtml: !0 }), o = l === ""), [X(r, t), A(ut(e, t, i)), o ? "" : E, l, o ? "" : E, ot(r, t), $(r, t)];
962
- } : void 0;
963
- }
964
- break;
965
- case "text":
966
- if (M(r.parent, t)) {
967
- let n = Wt(r.parent, t);
968
- if (n)
969
- return async (a) => {
970
- let i = n === "markdown" ? N.dedentString(r.value.replace(/^[^\S\n]*\n/u, "")) : r.value, s = { parser: n, __embeddedInHtml: !0 };
971
- if (t.parser === "html" && n === "babel") {
972
- let o = "script", { attrMap: l } = r.parent;
973
- l && (l.type === "module" || (l.type === "text/babel" || l.type === "text/jsx") && l["data-type"] === "module") && (o = "module"), s.__babelSourceType = o;
974
- }
975
- return [Ae, X(r, t), await a(i, s), $(r, t)];
976
- };
977
- } else if (r.parent.kind === "interpolation")
978
- return async (n) => {
979
- let a = { __isInHtmlInterpolation: !0, __embeddedInHtml: !0 };
980
- return t.parser === "angular" ? a.parser = "__ng_interpolation" : t.parser === "vue" ? a.parser = ie(e, t) ? "__vue_ts_expression" : "__vue_expression" : a.parser = "__js_expression", [F([S, await n(r.value, a)]), r.parent.next && j(r.parent.next) ? " " : S];
981
- };
982
- break;
983
- case "attribute":
984
- return Li(e, t);
985
- case "angularControlFlowBlockParameters":
986
- return qi.has(e.parent.name) ? ta : void 0;
987
- case "angularLetDeclarationInitializer":
988
- return (n) => B(r.value, n, { parser: "__ng_binding", __isInHtmlAttribute: !1 });
989
- }
990
- }
991
- var Vi = Hi, ue = null;
992
- function fe(e) {
993
- if (ue !== null && typeof ue.property) {
994
- let t = ue;
995
- return ue = fe.prototype = null, t;
996
- }
997
- return ue = fe.prototype = e ?? /* @__PURE__ */ Object.create(null), new fe();
998
- }
999
- var Ui = 10;
1000
- for (let e = 0; e <= Ui; e++)
1001
- fe();
1002
- function Wi(e) {
1003
- return fe(e);
1004
- }
1005
- function zi(e, t = "type") {
1006
- Wi(e);
1007
- function r(n) {
1008
- let a = n[t], i = e[a];
1009
- if (!Array.isArray(i))
1010
- throw Object.assign(new Error(`Missing visitor keys for '${a}'.`), { node: n });
1011
- return i;
1012
- }
1013
- return r;
1014
- }
1015
- var $i = zi, y = [["children"], []], ji = { root: y[0], element: ["attrs", "children"], ieConditionalComment: y[0], ieConditionalStartComment: y[1], ieConditionalEndComment: y[1], interpolation: y[0], text: y[0], docType: y[1], comment: y[1], attribute: y[1], cdata: y[1], angularControlFlowBlock: ["children", "parameters"], angularControlFlowBlockParameters: y[0], angularControlFlowBlockParameter: y[1], angularLetDeclaration: ["init"], angularLetDeclarationInitializer: y[1], angularIcuExpression: ["cases"], angularIcuCase: ["expression"] }, Xi = $i(ji, "kind"), Gi = Xi, Ki = "format", Yi = /^\s*<!--\s*@(?:noformat|noprettier)\s*-->/u, Ji = /^\s*<!--\s*@(?:format|prettier)\s*-->/u, Qi = (e) => Ji.test(e), Zi = (e) => Yi.test(e), es = (e) => `<!-- @${Ki} -->
1016
-
1017
- ${e}`, ts = /* @__PURE__ */ new Map([["if", /* @__PURE__ */ new Set(["else if", "else"])], ["else if", /* @__PURE__ */ new Set(["else if", "else"])], ["for", /* @__PURE__ */ new Set(["empty"])], ["defer", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["placeholder", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["error", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["loading", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])]]);
1018
- function tn(e) {
1019
- let t = $e(e);
1020
- return e.kind === "element" && !e.endSourceSpan && wt(e.children) ? Math.max(t, tn(ee(0, e.children, -1))) : t;
1021
- }
1022
- function le(e, t, r) {
1023
- let n = e.node;
1024
- if (We(n)) {
1025
- let a = tn(n);
1026
- return [X(n, t), O(N.trimEnd(t.originalText.slice(we(n) + (n.prev && je(n.prev) ? Bt(n).length : 0), a - (n.next && j(n.next) ? ye(n, t).length : 0)))), $(n, t)];
1027
- }
1028
- return r();
1029
- }
1030
- function Oe(e, t) {
1031
- return x(e) && x(t) ? e.isTrailingSpaceSensitive ? e.hasTrailingSpaces ? tt(t) ? E : S : "" : tt(t) ? E : b : je(e) && (We(t) || t.firstChild || t.isSelfClosing || t.kind === "element" && t.attrs.length > 0) || e.kind === "element" && e.isSelfClosing && j(t) ? "" : !t.isLeadingSpaceSensitive || tt(t) || j(t) && e.lastChild && ve(e.lastChild) && e.lastChild.lastChild && ve(e.lastChild.lastChild) ? E : t.hasLeadingSpaces ? S : b;
1032
- }
1033
- function Ot(e, t, r) {
1034
- let { node: n } = e;
1035
- if (qr(n))
1036
- return [Ae, ...e.map(() => {
1037
- let i = e.node, s = i.prev ? Oe(i.prev, i) : "";
1038
- return [s ? [s, Le(i.prev) ? E : ""] : "", le(e, t, r)];
1039
- }, "children")];
1040
- let a = n.children.map(() => Symbol(""));
1041
- return e.map(({ node: i, index: s }) => {
1042
- if (x(i)) {
1043
- if (i.prev && x(i.prev)) {
1044
- let h = Oe(i.prev, i);
1045
- if (h)
1046
- return Le(i.prev) ? [E, E, le(e, t, r)] : [h, le(e, t, r)];
1047
- }
1048
- return le(e, t, r);
1049
- }
1050
- let o = [], l = [], c = [], p = [], g = i.prev ? Oe(i.prev, i) : "", f = i.next ? Oe(i, i.next) : "";
1051
- return g && (Le(i.prev) ? o.push(E, E) : g === E ? o.push(E) : x(i.prev) ? l.push(g) : l.push(Ce("", b, { groupId: a[s - 1] }))), f && (Le(i) ? x(i.next) && p.push(E, E) : f === E ? x(i.next) && p.push(E) : c.push(f)), [...o, A([...l, A([le(e, t, r), ...c], { id: a[s] })]), ...p];
1052
- }, "children");
1053
- }
1054
- function rs(e, t, r) {
1055
- let { node: n } = e, a = [];
1056
- ns(e) && a.push("} "), a.push("@", n.name), n.parameters && a.push(" (", A(r("parameters")), ")"), a.push(" {");
1057
- let i = rn(n);
1058
- return n.children.length > 0 ? (n.firstChild.hasLeadingSpaces = !0, n.lastChild.hasTrailingSpaces = !0, a.push(F([E, Ot(e, t, r)])), i && a.push(E, "}")) : i && a.push("}"), A(a, { shouldBreak: !0 });
1059
- }
1060
- function rn(e) {
1061
- var t, r;
1062
- return !(((t = e.next) == null ? void 0 : t.kind) === "angularControlFlowBlock" && ((r = ts.get(e.name)) != null && r.has(e.next.name)));
1063
- }
1064
- function ns(e) {
1065
- let { previous: t } = e;
1066
- return (t == null ? void 0 : t.kind) === "angularControlFlowBlock" && !We(t) && !rn(t);
1067
- }
1068
- function as(e, t, r) {
1069
- return [F([b, re([";", S], e.map(r, "children"))]), b];
1070
- }
1071
- function is(e, t, r) {
1072
- let { node: n } = e;
1073
- return [ge(n, t), A([n.switchValue.trim(), ", ", n.type, n.cases.length > 0 ? [",", F([S, re(S, e.map(r, "cases"))])] : "", b]), me(n, t)];
1074
- }
1075
- function ss(e, t, r) {
1076
- let { node: n } = e;
1077
- return [n.value, " {", A([F([b, e.map(({ node: a, isLast: i }) => {
1078
- let s = [r()];
1079
- return a.kind === "text" && (a.hasLeadingSpaces && s.unshift(S), a.hasTrailingSpaces && !i && s.push(S)), s;
1080
- }, "expression")]), b]), "}"];
1081
- }
1082
- function os(e, t, r) {
1083
- let { node: n } = e;
1084
- if (Rr(n, t))
1085
- return [X(n, t), A(ut(e, t, r)), O(en(n, t)), ...ot(n, t), $(n, t)];
1086
- let a = n.children.length === 1 && (n.firstChild.kind === "interpolation" || n.firstChild.kind === "angularIcuExpression") && n.firstChild.isLeadingSpaceSensitive && !n.firstChild.hasLeadingSpaces && n.lastChild.isTrailingSpaceSensitive && !n.lastChild.hasTrailingSpaces, i = Symbol("element-attr-group-id"), s = (p) => A([A(ut(e, t, r), { id: i }), p, ot(n, t)]), o = (p) => a ? In(p, { groupId: i }) : (M(n, t) || ze(n, t)) && n.parent.kind === "root" && t.parser === "vue" && !t.vueIndentScriptAndStyle ? p : F(p), l = () => a ? Ce(b, "", { groupId: i }) : n.firstChild.hasLeadingSpaces && n.firstChild.isLeadingSpaceSensitive ? S : n.firstChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive ? Pn(b) : b, c = () => (n.next ? j(n.next) : De(n.parent)) ? n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? " " : "" : a ? Ce(b, "", { groupId: i }) : n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? S : (n.lastChild.kind === "comment" || n.lastChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive) && new RegExp(`\\n[\\t ]{${t.tabWidth * (e.ancestors.length - 1)}}$`, "u").test(n.lastChild.value) ? "" : b;
1087
- return n.children.length === 0 ? s(n.hasDanglingSpaces && n.isDanglingSpaceSensitive ? S : "") : s([Na(n) ? Ae : "", o([l(), Ot(e, t, r)]), c()]);
1088
- }
1089
- var R = function(e) {
1090
- return e[e.RAW_TEXT = 0] = "RAW_TEXT", e[e.ESCAPABLE_RAW_TEXT = 1] = "ESCAPABLE_RAW_TEXT", e[e.PARSABLE_DATA = 2] = "PARSABLE_DATA", e;
1091
- }({});
1092
- function Ge(e, t = !0) {
1093
- if (e[0] != ":")
1094
- return [null, e];
1095
- let r = e.indexOf(":", 1);
1096
- if (r === -1) {
1097
- if (t)
1098
- throw new Error(`Unsupported format "${e}" expecting ":namespace:name"`);
1099
- return [null, e];
1100
- }
1101
- return [e.slice(1, r), e.slice(r + 1)];
1102
- }
1103
- function Xt(e) {
1104
- return Ge(e)[1] === "ng-container";
1105
- }
1106
- function Gt(e) {
1107
- return Ge(e)[1] === "ng-content";
1108
- }
1109
- function Re(e) {
1110
- return e === null ? null : Ge(e)[0];
1111
- }
1112
- function _e(e, t) {
1113
- return e ? `:${e}:${t}` : t;
1114
- }
1115
- var Kt = { name: "custom-elements" }, Yt = { name: "no-errors-schema" }, he = function(e) {
1116
- return e[e.NONE = 0] = "NONE", e[e.HTML = 1] = "HTML", e[e.STYLE = 2] = "STYLE", e[e.SCRIPT = 3] = "SCRIPT", e[e.URL = 4] = "URL", e[e.RESOURCE_URL = 5] = "RESOURCE_URL", e;
1117
- }({}), us = /-+([a-z0-9])/g;
1118
- function ls(e) {
1119
- return e.replace(us, (...t) => t[1].toUpperCase());
1120
- }
1121
- var Me;
1122
- function Jt() {
1123
- return Me || (Me = {}, Fe(he.HTML, ["iframe|srcdoc", "*|innerHTML", "*|outerHTML"]), Fe(he.STYLE, ["*|style"]), Fe(he.URL, ["*|formAction", "area|href", "area|ping", "audio|src", "a|href", "a|ping", "blockquote|cite", "body|background", "del|cite", "form|action", "img|src", "input|src", "ins|cite", "q|cite", "source|src", "track|src", "video|poster", "video|src"]), Fe(he.RESOURCE_URL, ["applet|code", "applet|codebase", "base|href", "embed|src", "frame|src", "head|profile", "html|manifest", "iframe|src", "link|href", "media|src", "object|codebase", "object|data", "script|src"])), Me;
1124
- }
1125
- function Fe(e, t) {
1126
- for (let r of t)
1127
- Me[r.toLowerCase()] = e;
1128
- }
1129
- var cs = class {
1130
- }, ps = "boolean", hs = "number", ds = "string", ms = "object", gs = ["[Element]|textContent,%ariaActiveDescendantElement,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColIndexText,%ariaColSpan,%ariaControlsElements,%ariaCurrent,%ariaDescribedByElements,%ariaDescription,%ariaDetailsElements,%ariaDisabled,%ariaErrorMessageElements,%ariaExpanded,%ariaFlowToElements,%ariaHasPopup,%ariaHidden,%ariaInvalid,%ariaKeyShortcuts,%ariaLabel,%ariaLabelledByElements,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaOwnsElements,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%ariaRowIndexText,%ariaRowSpan,%ariaSelected,%ariaSetSize,%ariaSort,%ariaValueMax,%ariaValueMin,%ariaValueNow,%ariaValueText,%classList,className,elementTiming,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*fullscreenchange,*fullscreenerror,*search,*webkitfullscreenchange,*webkitfullscreenerror,outerHTML,%part,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored", "[HTMLElement]^[Element]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,!inert,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy", "abbr,address,article,aside,b,bdi,bdo,cite,content,code,dd,dfn,dt,em,figcaption,figure,footer,header,hgroup,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,search,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy", "media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,!preservesPitch,src,%srcObject,#volume", ":svg:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex", ":svg:graphics^:svg:|", ":svg:animation^:svg:|*begin,*end,*repeat", ":svg:geometry^:svg:|", ":svg:componentTransferFunction^:svg:|", ":svg:gradient^:svg:|", ":svg:textContent^:svg:graphics|", ":svg:textPositioning^:svg:textContent|", "a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,rev,search,shape,target,text,type,username", "area^[HTMLElement]|alt,coords,download,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,search,shape,target,username", "audio^media|", "br^[HTMLElement]|clear", "base^[HTMLElement]|href,target", "body^[HTMLElement]|aLink,background,bgColor,link,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink", "button^[HTMLElement]|!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value", "canvas^[HTMLElement]|#height,#width", "content^[HTMLElement]|select", "dl^[HTMLElement]|!compact", "data^[HTMLElement]|value", "datalist^[HTMLElement]|", "details^[HTMLElement]|!open", "dialog^[HTMLElement]|!open,returnValue", "dir^[HTMLElement]|!compact", "div^[HTMLElement]|align", "embed^[HTMLElement]|align,height,name,src,type,width", "fieldset^[HTMLElement]|!disabled,name", "font^[HTMLElement]|color,face,size", "form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target", "frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src", "frameset^[HTMLElement]|cols,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows", "hr^[HTMLElement]|align,color,!noShade,size,width", "head^[HTMLElement]|", "h1,h2,h3,h4,h5,h6^[HTMLElement]|align", "html^[HTMLElement]|version", "iframe^[HTMLElement]|align,allow,!allowFullscreen,!allowPaymentRequest,csp,frameBorder,height,loading,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width", "img^[HTMLElement]|align,alt,border,%crossOrigin,decoding,#height,#hspace,!isMap,loading,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width", "input^[HTMLElement]|accept,align,alt,autocomplete,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width", "li^[HTMLElement]|type,#value", "label^[HTMLElement]|htmlFor", "legend^[HTMLElement]|align", "link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,imageSizes,imageSrcset,integrity,media,referrerPolicy,rel,%relList,rev,%sizes,target,type", "map^[HTMLElement]|name", "marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width", "menu^[HTMLElement]|!compact", "meta^[HTMLElement]|content,httpEquiv,media,name,scheme", "meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value", "ins,del^[HTMLElement]|cite,dateTime", "ol^[HTMLElement]|!compact,!reversed,#start,type", "object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width", "optgroup^[HTMLElement]|!disabled,label", "option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value", "output^[HTMLElement]|defaultValue,%htmlFor,name,value", "p^[HTMLElement]|align", "param^[HTMLElement]|name,type,value,valueType", "picture^[HTMLElement]|", "pre^[HTMLElement]|#width", "progress^[HTMLElement]|#max,#value", "q,blockquote,cite^[HTMLElement]|", "script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,!noModule,%referrerPolicy,src,text,type", "select^[HTMLElement]|autocomplete,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value", "selectedcontent^[HTMLElement]|", "slot^[HTMLElement]|name", "source^[HTMLElement]|#height,media,sizes,src,srcset,type,#width", "span^[HTMLElement]|", "style^[HTMLElement]|!disabled,media,type", "search^[HTMLELement]|", "caption^[HTMLElement]|align", "th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width", "col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width", "table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width", "tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign", "tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign", "template^[HTMLElement]|", "textarea^[HTMLElement]|autocomplete,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap", "time^[HTMLElement]|dateTime", "title^[HTMLElement]|text", "track^[HTMLElement]|!default,kind,label,src,srclang", "ul^[HTMLElement]|!compact,type", "unknown^[HTMLElement]|", "video^media|!disablePictureInPicture,#height,*enterpictureinpicture,*leavepictureinpicture,!playsInline,poster,#width", ":svg:a^:svg:graphics|", ":svg:animate^:svg:animation|", ":svg:animateMotion^:svg:animation|", ":svg:animateTransform^:svg:animation|", ":svg:circle^:svg:geometry|", ":svg:clipPath^:svg:graphics|", ":svg:defs^:svg:graphics|", ":svg:desc^:svg:|", ":svg:discard^:svg:|", ":svg:ellipse^:svg:geometry|", ":svg:feBlend^:svg:|", ":svg:feColorMatrix^:svg:|", ":svg:feComponentTransfer^:svg:|", ":svg:feComposite^:svg:|", ":svg:feConvolveMatrix^:svg:|", ":svg:feDiffuseLighting^:svg:|", ":svg:feDisplacementMap^:svg:|", ":svg:feDistantLight^:svg:|", ":svg:feDropShadow^:svg:|", ":svg:feFlood^:svg:|", ":svg:feFuncA^:svg:componentTransferFunction|", ":svg:feFuncB^:svg:componentTransferFunction|", ":svg:feFuncG^:svg:componentTransferFunction|", ":svg:feFuncR^:svg:componentTransferFunction|", ":svg:feGaussianBlur^:svg:|", ":svg:feImage^:svg:|", ":svg:feMerge^:svg:|", ":svg:feMergeNode^:svg:|", ":svg:feMorphology^:svg:|", ":svg:feOffset^:svg:|", ":svg:fePointLight^:svg:|", ":svg:feSpecularLighting^:svg:|", ":svg:feSpotLight^:svg:|", ":svg:feTile^:svg:|", ":svg:feTurbulence^:svg:|", ":svg:filter^:svg:|", ":svg:foreignObject^:svg:graphics|", ":svg:g^:svg:graphics|", ":svg:image^:svg:graphics|decoding", ":svg:line^:svg:geometry|", ":svg:linearGradient^:svg:gradient|", ":svg:mpath^:svg:|", ":svg:marker^:svg:|", ":svg:mask^:svg:|", ":svg:metadata^:svg:|", ":svg:path^:svg:geometry|", ":svg:pattern^:svg:|", ":svg:polygon^:svg:geometry|", ":svg:polyline^:svg:geometry|", ":svg:radialGradient^:svg:gradient|", ":svg:rect^:svg:geometry|", ":svg:svg^:svg:graphics|#currentScale,#zoomAndPan", ":svg:script^:svg:|type", ":svg:set^:svg:animation|", ":svg:stop^:svg:|", ":svg:style^:svg:|!disabled,media,title,type", ":svg:switch^:svg:graphics|", ":svg:symbol^:svg:|", ":svg:tspan^:svg:textPositioning|", ":svg:text^:svg:textPositioning|", ":svg:textPath^:svg:textContent|", ":svg:title^:svg:|", ":svg:use^:svg:graphics|", ":svg:view^:svg:|#zoomAndPan", "data^[HTMLElement]|value", "keygen^[HTMLElement]|!autofocus,challenge,!disabled,form,keytype,name", "menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default", "summary^[HTMLElement]|", "time^[HTMLElement]|dateTime", ":svg:cursor^:svg:|", ":math:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforeinput,*beforematch,*beforetoggle,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contentvisibilityautostatechange,*contextlost,*contextmenu,*contextrestored,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*scrollend,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex", ":math:math^:math:|", ":math:maction^:math:|", ":math:menclose^:math:|", ":math:merror^:math:|", ":math:mfenced^:math:|", ":math:mfrac^:math:|", ":math:mi^:math:|", ":math:mmultiscripts^:math:|", ":math:mn^:math:|", ":math:mo^:math:|", ":math:mover^:math:|", ":math:mpadded^:math:|", ":math:mphantom^:math:|", ":math:mroot^:math:|", ":math:mrow^:math:|", ":math:ms^:math:|", ":math:mspace^:math:|", ":math:msqrt^:math:|", ":math:mstyle^:math:|", ":math:msub^:math:|", ":math:msubsup^:math:|", ":math:msup^:math:|", ":math:mtable^:math:|", ":math:mtd^:math:|", ":math:mtext^:math:|", ":math:mtr^:math:|", ":math:munder^:math:|", ":math:munderover^:math:|", ":math:semantics^:math:|"], nn = new Map(Object.entries({ class: "className", for: "htmlFor", formaction: "formAction", innerHtml: "innerHTML", readonly: "readOnly", tabindex: "tabIndex", "aria-activedescendant": "ariaActiveDescendantElement", "aria-atomic": "ariaAtomic", "aria-autocomplete": "ariaAutoComplete", "aria-busy": "ariaBusy", "aria-checked": "ariaChecked", "aria-colcount": "ariaColCount", "aria-colindex": "ariaColIndex", "aria-colindextext": "ariaColIndexText", "aria-colspan": "ariaColSpan", "aria-controls": "ariaControlsElements", "aria-current": "ariaCurrent", "aria-describedby": "ariaDescribedByElements", "aria-description": "ariaDescription", "aria-details": "ariaDetailsElements", "aria-disabled": "ariaDisabled", "aria-errormessage": "ariaErrorMessageElements", "aria-expanded": "ariaExpanded", "aria-flowto": "ariaFlowToElements", "aria-haspopup": "ariaHasPopup", "aria-hidden": "ariaHidden", "aria-invalid": "ariaInvalid", "aria-keyshortcuts": "ariaKeyShortcuts", "aria-label": "ariaLabel", "aria-labelledby": "ariaLabelledByElements", "aria-level": "ariaLevel", "aria-live": "ariaLive", "aria-modal": "ariaModal", "aria-multiline": "ariaMultiLine", "aria-multiselectable": "ariaMultiSelectable", "aria-orientation": "ariaOrientation", "aria-owns": "ariaOwnsElements", "aria-placeholder": "ariaPlaceholder", "aria-posinset": "ariaPosInSet", "aria-pressed": "ariaPressed", "aria-readonly": "ariaReadOnly", "aria-required": "ariaRequired", "aria-roledescription": "ariaRoleDescription", "aria-rowcount": "ariaRowCount", "aria-rowindex": "ariaRowIndex", "aria-rowindextext": "ariaRowIndexText", "aria-rowspan": "ariaRowSpan", "aria-selected": "ariaSelected", "aria-setsize": "ariaSetSize", "aria-sort": "ariaSort", "aria-valuemax": "ariaValueMax", "aria-valuemin": "ariaValueMin", "aria-valuenow": "ariaValueNow", "aria-valuetext": "ariaValueText" })), fs = Array.from(nn).reduce((e, [t, r]) => (e.set(t, r), e), /* @__PURE__ */ new Map()), _s = class extends cs {
1131
- constructor() {
1132
- super(), this._schema = /* @__PURE__ */ new Map(), this._eventSchema = /* @__PURE__ */ new Map(), gs.forEach((e) => {
1133
- let t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), [n, a] = e.split("|"), i = a.split(","), [s, o] = n.split("^");
1134
- s.split(",").forEach((c) => {
1135
- this._schema.set(c.toLowerCase(), t), this._eventSchema.set(c.toLowerCase(), r);
1136
- });
1137
- let l = o && this._schema.get(o.toLowerCase());
1138
- if (l) {
1139
- for (let [c, p] of l)
1140
- t.set(c, p);
1141
- for (let c of this._eventSchema.get(o.toLowerCase()))
1142
- r.add(c);
1143
- }
1144
- i.forEach((c) => {
1145
- if (c.length > 0)
1146
- switch (c[0]) {
1147
- case "*":
1148
- r.add(c.substring(1));
1149
- break;
1150
- case "!":
1151
- t.set(c.substring(1), ps);
1152
- break;
1153
- case "#":
1154
- t.set(c.substring(1), hs);
1155
- break;
1156
- case "%":
1157
- t.set(c.substring(1), ms);
1158
- break;
1159
- default:
1160
- t.set(c, ds);
1161
- }
1162
- });
1163
- });
1164
- }
1165
- hasProperty(e, t, r) {
1166
- if (r.some((n) => n.name === Yt.name))
1167
- return !0;
1168
- if (e.indexOf("-") > -1) {
1169
- if (Xt(e) || Gt(e))
1170
- return !1;
1171
- if (r.some((n) => n.name === Kt.name))
1172
- return !0;
1173
- }
1174
- return (this._schema.get(e.toLowerCase()) || this._schema.get("unknown")).has(t);
1175
- }
1176
- hasElement(e, t) {
1177
- return t.some((r) => r.name === Yt.name) || e.indexOf("-") > -1 && (Xt(e) || Gt(e) || t.some((r) => r.name === Kt.name)) ? !0 : this._schema.has(e.toLowerCase());
1178
- }
1179
- securityContext(e, t, r) {
1180
- r && (t = this.getMappedPropName(t)), e = e.toLowerCase(), t = t.toLowerCase();
1181
- let n = Jt()[e + "|" + t];
1182
- return n || (n = Jt()["*|" + t], n || he.NONE);
1183
- }
1184
- getMappedPropName(e) {
1185
- return nn.get(e) ?? e;
1186
- }
1187
- getDefaultComponentElementName() {
1188
- return "ng-component";
1189
- }
1190
- validateProperty(e) {
1191
- return e.toLowerCase().startsWith("on") ? { error: !0, msg: `Binding to event property '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...
1192
- If '${e}' is a directive input, make sure the directive is imported by the current module.` } : { error: !1 };
1193
- }
1194
- validateAttribute(e) {
1195
- return e.toLowerCase().startsWith("on") ? { error: !0, msg: `Binding to event attribute '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...` } : { error: !1 };
1196
- }
1197
- allKnownElementNames() {
1198
- return Array.from(this._schema.keys());
1199
- }
1200
- allKnownAttributesOfElement(e) {
1201
- let t = this._schema.get(e.toLowerCase()) || this._schema.get("unknown");
1202
- return Array.from(t.keys()).map((r) => fs.get(r) ?? r);
1203
- }
1204
- allKnownEventsOfElement(e) {
1205
- return Array.from(this._eventSchema.get(e.toLowerCase()) ?? []);
1206
- }
1207
- normalizeAnimationStyleProperty(e) {
1208
- return ls(e);
1209
- }
1210
- normalizeAnimationStyleValue(e, t, r) {
1211
- let n = "", a = r.toString().trim(), i = null;
1212
- if (Cs(e) && r !== 0 && r !== "0")
1213
- if (typeof r == "number")
1214
- n = "px";
1215
- else {
1216
- let s = r.match(/^[+-]?[\d\.]+([a-z]*)$/);
1217
- s && s[1].length == 0 && (i = `Please provide a CSS unit value for ${t}:${r}`);
1218
- }
1219
- return { error: i, value: a + n };
1220
- }
1221
- };
1222
- function Cs(e) {
1223
- switch (e) {
1224
- case "width":
1225
- case "height":
1226
- case "minWidth":
1227
- case "minHeight":
1228
- case "maxWidth":
1229
- case "maxHeight":
1230
- case "left":
1231
- case "top":
1232
- case "bottom":
1233
- case "right":
1234
- case "fontSize":
1235
- case "outlineWidth":
1236
- case "outlineOffset":
1237
- case "paddingTop":
1238
- case "paddingLeft":
1239
- case "paddingBottom":
1240
- case "paddingRight":
1241
- case "marginTop":
1242
- case "marginLeft":
1243
- case "marginBottom":
1244
- case "marginRight":
1245
- case "borderRadius":
1246
- case "borderWidth":
1247
- case "borderTopWidth":
1248
- case "borderLeftWidth":
1249
- case "borderRightWidth":
1250
- case "borderBottomWidth":
1251
- case "textIndent":
1252
- return !0;
1253
- default:
1254
- return !1;
1255
- }
1256
- }
1257
- var m = class {
1258
- constructor({ closedByChildren: e, implicitNamespacePrefix: t, contentType: r = R.PARSABLE_DATA, closedByParent: n = !1, isVoid: a = !1, ignoreFirstLf: i = !1, preventNamespaceInheritance: s = !1, canSelfClose: o = !1 } = {}) {
1259
- this.closedByChildren = {}, this.closedByParent = !1, e && e.length > 0 && e.forEach((l) => this.closedByChildren[l] = !0), this.isVoid = a, this.closedByParent = n || a, this.implicitNamespacePrefix = t || null, this.contentType = r, this.ignoreFirstLf = i, this.preventNamespaceInheritance = s, this.canSelfClose = o ?? a;
1260
- }
1261
- isClosedByChild(e) {
1262
- return this.isVoid || e.toLowerCase() in this.closedByChildren;
1263
- }
1264
- getContentType(e) {
1265
- return typeof this.contentType == "object" ? (e === void 0 ? void 0 : this.contentType[e]) ?? this.contentType.default : this.contentType;
1266
- }
1267
- }, Qt, ce;
1268
- function lt(e) {
1269
- return ce || (Qt = new m({ canSelfClose: !0 }), ce = Object.assign(/* @__PURE__ */ Object.create(null), { base: new m({ isVoid: !0 }), meta: new m({ isVoid: !0 }), area: new m({ isVoid: !0 }), embed: new m({ isVoid: !0 }), link: new m({ isVoid: !0 }), img: new m({ isVoid: !0 }), input: new m({ isVoid: !0 }), param: new m({ isVoid: !0 }), hr: new m({ isVoid: !0 }), br: new m({ isVoid: !0 }), source: new m({ isVoid: !0 }), track: new m({ isVoid: !0 }), wbr: new m({ isVoid: !0 }), p: new m({ closedByChildren: ["address", "article", "aside", "blockquote", "div", "dl", "fieldset", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "hr", "main", "nav", "ol", "p", "pre", "section", "table", "ul"], closedByParent: !0 }), thead: new m({ closedByChildren: ["tbody", "tfoot"] }), tbody: new m({ closedByChildren: ["tbody", "tfoot"], closedByParent: !0 }), tfoot: new m({ closedByChildren: ["tbody"], closedByParent: !0 }), tr: new m({ closedByChildren: ["tr"], closedByParent: !0 }), td: new m({ closedByChildren: ["td", "th"], closedByParent: !0 }), th: new m({ closedByChildren: ["td", "th"], closedByParent: !0 }), col: new m({ isVoid: !0 }), svg: new m({ implicitNamespacePrefix: "svg" }), foreignObject: new m({ implicitNamespacePrefix: "svg", preventNamespaceInheritance: !0 }), math: new m({ implicitNamespacePrefix: "math" }), li: new m({ closedByChildren: ["li"], closedByParent: !0 }), dt: new m({ closedByChildren: ["dt", "dd"] }), dd: new m({ closedByChildren: ["dt", "dd"], closedByParent: !0 }), rb: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: !0 }), rt: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: !0 }), rtc: new m({ closedByChildren: ["rb", "rtc", "rp"], closedByParent: !0 }), rp: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: !0 }), optgroup: new m({ closedByChildren: ["optgroup"], closedByParent: !0 }), option: new m({ closedByChildren: ["option", "optgroup"], closedByParent: !0 }), pre: new m({ ignoreFirstLf: !0 }), listing: new m({ ignoreFirstLf: !0 }), style: new m({ contentType: R.RAW_TEXT }), script: new m({ contentType: R.RAW_TEXT }), title: new m({ contentType: { default: R.ESCAPABLE_RAW_TEXT, svg: R.PARSABLE_DATA } }), textarea: new m({ contentType: R.ESCAPABLE_RAW_TEXT, ignoreFirstLf: !0 }) }), new _s().allKnownElementNames().forEach((t) => {
1270
- !ce[t] && Re(t) === null && (ce[t] = new m({ canSelfClose: !1 }));
1271
- })), ce[e] ?? Qt;
1272
- }
1273
- function qe(e) {
1274
- return e >= 9 && e <= 32 || e == 160;
1275
- }
1276
- function Ke(e) {
1277
- return 48 <= e && e <= 57;
1278
- }
1279
- function Ee(e) {
1280
- return e >= 97 && e <= 122 || e >= 65 && e <= 90;
1281
- }
1282
- function vs(e) {
1283
- return e >= 97 && e <= 102 || e >= 65 && e <= 70 || Ke(e);
1284
- }
1285
- function He(e) {
1286
- return e === 10 || e === 13;
1287
- }
1288
- function Zt(e) {
1289
- return 48 <= e && e <= 55;
1290
- }
1291
- function at(e) {
1292
- return e === 39 || e === 34 || e === 96;
1293
- }
1294
- var ct = class an {
1295
- constructor(t, r, n, a) {
1296
- this.file = t, this.offset = r, this.line = n, this.col = a;
1297
- }
1298
- toString() {
1299
- return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;
1300
- }
1301
- moveBy(t) {
1302
- let r = this.file.content, n = r.length, a = this.offset, i = this.line, s = this.col;
1303
- for (; a > 0 && t < 0; )
1304
- if (a--, t++, r.charCodeAt(a) == 10) {
1305
- i--;
1306
- let o = r.substring(0, a - 1).lastIndexOf(String.fromCharCode(10));
1307
- s = o > 0 ? a - o : a;
1308
- } else
1309
- s--;
1310
- for (; a < n && t > 0; ) {
1311
- let o = r.charCodeAt(a);
1312
- a++, t--, o == 10 ? (i++, s = 0) : s++;
1313
- }
1314
- return new an(this.file, a, i, s);
1315
- }
1316
- getContext(t, r) {
1317
- let n = this.file.content, a = this.offset;
1318
- if (a != null) {
1319
- a > n.length - 1 && (a = n.length - 1);
1320
- let i = a, s = 0, o = 0;
1321
- for (; s < t && a > 0 && (a--, s++, !(n[a] == `
1322
- ` && ++o == r)); )
1323
- ;
1324
- for (s = 0, o = 0; s < t && i < n.length - 1 && (i++, s++, !(n[i] == `
1325
- ` && ++o == r)); )
1326
- ;
1327
- return { before: n.substring(a, this.offset), after: n.substring(this.offset, i + 1) };
1328
- }
1329
- return null;
1330
- }
1331
- }, sn = class {
1332
- constructor(e, t) {
1333
- this.content = e, this.url = t;
1334
- }
1335
- }, d = class {
1336
- constructor(e, t, r = e, n = null) {
1337
- this.start = e, this.end = t, this.fullStart = r, this.details = n;
1338
- }
1339
- toString() {
1340
- return this.start.file.content.substring(this.start.offset, this.end.offset);
1341
- }
1342
- }, er = function(e) {
1343
- return e[e.WARNING = 0] = "WARNING", e[e.ERROR = 1] = "ERROR", e;
1344
- }({}), J = class extends Error {
1345
- constructor(e, t, r = er.ERROR, n) {
1346
- super(t), this.span = e, this.msg = t, this.level = r, this.relatedError = n, Object.setPrototypeOf(this, new.target.prototype);
1347
- }
1348
- contextualMessage() {
1349
- let e = this.span.start.getContext(100, 3);
1350
- return e ? `${this.msg} ("${e.before}[${er[this.level]} ->]${e.after}")` : this.msg;
1351
- }
1352
- toString() {
1353
- let e = this.span.details ? `, ${this.span.details}` : "";
1354
- return `${this.contextualMessage()}: ${this.span.start}${e}`;
1355
- }
1356
- }, G = class {
1357
- constructor(e, t) {
1358
- this.sourceSpan = e, this.i18n = t;
1359
- }
1360
- }, Es = class extends G {
1361
- constructor(e, t, r, n) {
1362
- super(t, n), this.value = e, this.tokens = r, this.kind = "text";
1363
- }
1364
- visit(e, t) {
1365
- return e.visitText(this, t);
1366
- }
1367
- }, Ss = class extends G {
1368
- constructor(e, t, r, n) {
1369
- super(t, n), this.value = e, this.tokens = r, this.kind = "cdata";
1370
- }
1371
- visit(e, t) {
1372
- return e.visitCdata(this, t);
1373
- }
1374
- }, As = class extends G {
1375
- constructor(e, t, r, n, a, i) {
1376
- super(n, i), this.switchValue = e, this.type = t, this.cases = r, this.switchValueSourceSpan = a, this.kind = "expansion";
1377
- }
1378
- visit(e, t) {
1379
- return e.visitExpansion(this, t);
1380
- }
1381
- }, Ts = class {
1382
- constructor(e, t, r, n, a) {
1383
- this.value = e, this.expression = t, this.sourceSpan = r, this.valueSourceSpan = n, this.expSourceSpan = a, this.kind = "expansionCase";
1384
- }
1385
- visit(e, t) {
1386
- return e.visitExpansionCase(this, t);
1387
- }
1388
- }, bs = class extends G {
1389
- constructor(e, t, r, n, a, i, s) {
1390
- super(r, s), this.name = e, this.value = t, this.keySpan = n, this.valueSpan = a, this.valueTokens = i, this.kind = "attribute";
1391
- }
1392
- visit(e, t) {
1393
- return e.visitAttribute(this, t);
1394
- }
1395
- get nameSpan() {
1396
- return this.keySpan;
1397
- }
1398
- }, U = class extends G {
1399
- constructor(e, t, r, n, a, i, s, o = null, l = null, c, p) {
1400
- super(i, p), this.name = e, this.attrs = t, this.directives = r, this.children = n, this.isSelfClosing = a, this.startSourceSpan = s, this.endSourceSpan = o, this.nameSpan = l, this.isVoid = c, this.kind = "element";
1401
- }
1402
- visit(e, t) {
1403
- return e.visitElement(this, t);
1404
- }
1405
- }, ks = class {
1406
- constructor(e, t) {
1407
- this.value = e, this.sourceSpan = t, this.kind = "comment";
1408
- }
1409
- visit(e, t) {
1410
- return e.visitComment(this, t);
1411
- }
1412
- }, ws = class {
1413
- constructor(e, t) {
1414
- this.value = e, this.sourceSpan = t, this.kind = "docType";
1415
- }
1416
- visit(e, t) {
1417
- return e.visitDocType(this, t);
1418
- }
1419
- }, Y = class extends G {
1420
- constructor(e, t, r, n, a, i, s = null, o) {
1421
- super(n, o), this.name = e, this.parameters = t, this.children = r, this.nameSpan = a, this.startSourceSpan = i, this.endSourceSpan = s, this.kind = "block";
1422
- }
1423
- visit(e, t) {
1424
- return e.visitBlock(this, t);
1425
- }
1426
- }, H = class extends G {
1427
- constructor(e, t, r, n, a, i, s, o, l, c = null, p) {
1428
- super(o, p), this.componentName = e, this.tagName = t, this.fullName = r, this.attrs = n, this.directives = a, this.children = i, this.isSelfClosing = s, this.startSourceSpan = l, this.endSourceSpan = c, this.kind = "component";
1429
- }
1430
- visit(e, t) {
1431
- return e.visitComponent(this, t);
1432
- }
1433
- }, ys = class {
1434
- constructor(e, t, r, n, a = null) {
1435
- this.name = e, this.attrs = t, this.sourceSpan = r, this.startSourceSpan = n, this.endSourceSpan = a, this.kind = "directive";
1436
- }
1437
- visit(e, t) {
1438
- return e.visitDirective(this, t);
1439
- }
1440
- }, tr = class {
1441
- constructor(e, t) {
1442
- this.expression = e, this.sourceSpan = t, this.kind = "blockParameter", this.startSourceSpan = null, this.endSourceSpan = null;
1443
- }
1444
- visit(e, t) {
1445
- return e.visitBlockParameter(this, t);
1446
- }
1447
- }, rr = class {
1448
- constructor(e, t, r, n, a) {
1449
- this.name = e, this.value = t, this.sourceSpan = r, this.nameSpan = n, this.valueSpan = a, this.kind = "letDeclaration", this.startSourceSpan = null, this.endSourceSpan = null;
1450
- }
1451
- visit(e, t) {
1452
- return e.visitLetDeclaration(this, t);
1453
- }
1454
- };
1455
- function on(e, t, r = null) {
1456
- let n = [], a = e.visit ? (i) => e.visit(i, r) || i.visit(e, r) : (i) => i.visit(e, r);
1457
- return t.forEach((i) => {
1458
- let s = a(i);
1459
- s && n.push(s);
1460
- }), n;
1461
- }
1462
- var Ds = class {
1463
- constructor() {
1464
- }
1465
- visitElement(e, t) {
1466
- this.visitChildren(t, (r) => {
1467
- r(e.attrs), r(e.directives), r(e.children);
1468
- });
1469
- }
1470
- visitAttribute(e, t) {
1471
- }
1472
- visitText(e, t) {
1473
- }
1474
- visitCdata(e, t) {
1475
- }
1476
- visitComment(e, t) {
1477
- }
1478
- visitDocType(e, t) {
1479
- }
1480
- visitExpansion(e, t) {
1481
- return this.visitChildren(t, (r) => {
1482
- r(e.cases);
1483
- });
1484
- }
1485
- visitExpansionCase(e, t) {
1486
- }
1487
- visitBlock(e, t) {
1488
- this.visitChildren(t, (r) => {
1489
- r(e.parameters), r(e.children);
1490
- });
1491
- }
1492
- visitBlockParameter(e, t) {
1493
- }
1494
- visitLetDeclaration(e, t) {
1495
- }
1496
- visitComponent(e, t) {
1497
- this.visitChildren(t, (r) => {
1498
- r(e.attrs), r(e.children);
1499
- });
1500
- }
1501
- visitDirective(e, t) {
1502
- this.visitChildren(t, (r) => {
1503
- r(e.attrs);
1504
- });
1505
- }
1506
- visitChildren(e, t) {
1507
- let r = [], n = this;
1508
- function a(i) {
1509
- i && r.push(on(n, i, e));
1510
- }
1511
- return t(a), Array.prototype.concat.apply([], r);
1512
- }
1513
- }, Se = { AElig: "Æ", AMP: "&", amp: "&", Aacute: "Á", Abreve: "Ă", Acirc: "Â", Acy: "А", Afr: "𝔄", Agrave: "À", Alpha: "Α", Amacr: "Ā", And: "⩓", Aogon: "Ą", Aopf: "𝔸", ApplyFunction: "⁡", af: "⁡", Aring: "Å", angst: "Å", Ascr: "𝒜", Assign: "≔", colone: "≔", coloneq: "≔", Atilde: "Ã", Auml: "Ä", Backslash: "∖", setminus: "∖", setmn: "∖", smallsetminus: "∖", ssetmn: "∖", Barv: "⫧", Barwed: "⌆", doublebarwedge: "⌆", Bcy: "Б", Because: "∵", becaus: "∵", because: "∵", Bernoullis: "ℬ", Bscr: "ℬ", bernou: "ℬ", Beta: "Β", Bfr: "𝔅", Bopf: "𝔹", Breve: "˘", breve: "˘", Bumpeq: "≎", HumpDownHump: "≎", bump: "≎", CHcy: "Ч", COPY: "©", copy: "©", Cacute: "Ć", Cap: "⋒", CapitalDifferentialD: "ⅅ", DD: "ⅅ", Cayleys: "ℭ", Cfr: "ℭ", Ccaron: "Č", Ccedil: "Ç", Ccirc: "Ĉ", Cconint: "∰", Cdot: "Ċ", Cedilla: "¸", cedil: "¸", CenterDot: "·", centerdot: "·", middot: "·", Chi: "Χ", CircleDot: "⊙", odot: "⊙", CircleMinus: "⊖", ominus: "⊖", CirclePlus: "⊕", oplus: "⊕", CircleTimes: "⊗", otimes: "⊗", ClockwiseContourIntegral: "∲", cwconint: "∲", CloseCurlyDoubleQuote: "”", rdquo: "”", rdquor: "”", CloseCurlyQuote: "’", rsquo: "’", rsquor: "’", Colon: "∷", Proportion: "∷", Colone: "⩴", Congruent: "≡", equiv: "≡", Conint: "∯", DoubleContourIntegral: "∯", ContourIntegral: "∮", conint: "∮", oint: "∮", Copf: "ℂ", complexes: "ℂ", Coproduct: "∐", coprod: "∐", CounterClockwiseContourIntegral: "∳", awconint: "∳", Cross: "⨯", Cscr: "𝒞", Cup: "⋓", CupCap: "≍", asympeq: "≍", DDotrahd: "⤑", DJcy: "Ђ", DScy: "Ѕ", DZcy: "Џ", Dagger: "‡", ddagger: "‡", Darr: "↡", Dashv: "⫤", DoubleLeftTee: "⫤", Dcaron: "Ď", Dcy: "Д", Del: "∇", nabla: "∇", Delta: "Δ", Dfr: "𝔇", DiacriticalAcute: "´", acute: "´", DiacriticalDot: "˙", dot: "˙", DiacriticalDoubleAcute: "˝", dblac: "˝", DiacriticalGrave: "`", grave: "`", DiacriticalTilde: "˜", tilde: "˜", Diamond: "⋄", diam: "⋄", diamond: "⋄", DifferentialD: "ⅆ", dd: "ⅆ", Dopf: "𝔻", Dot: "¨", DoubleDot: "¨", die: "¨", uml: "¨", DotDot: "⃜", DotEqual: "≐", doteq: "≐", esdot: "≐", DoubleDownArrow: "⇓", Downarrow: "⇓", dArr: "⇓", DoubleLeftArrow: "⇐", Leftarrow: "⇐", lArr: "⇐", DoubleLeftRightArrow: "⇔", Leftrightarrow: "⇔", hArr: "⇔", iff: "⇔", DoubleLongLeftArrow: "⟸", Longleftarrow: "⟸", xlArr: "⟸", DoubleLongLeftRightArrow: "⟺", Longleftrightarrow: "⟺", xhArr: "⟺", DoubleLongRightArrow: "⟹", Longrightarrow: "⟹", xrArr: "⟹", DoubleRightArrow: "⇒", Implies: "⇒", Rightarrow: "⇒", rArr: "⇒", DoubleRightTee: "⊨", vDash: "⊨", DoubleUpArrow: "⇑", Uparrow: "⇑", uArr: "⇑", DoubleUpDownArrow: "⇕", Updownarrow: "⇕", vArr: "⇕", DoubleVerticalBar: "∥", par: "∥", parallel: "∥", shortparallel: "∥", spar: "∥", DownArrow: "↓", ShortDownArrow: "↓", darr: "↓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", duarr: "⇵", DownBreve: "̑", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", leftharpoondown: "↽", lhard: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", rhard: "⇁", rightharpoondown: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", top: "⊤", DownTeeArrow: "↧", mapstodown: "↧", Dscr: "𝒟", Dstrok: "Đ", ENG: "Ŋ", ETH: "Ð", Eacute: "É", Ecaron: "Ě", Ecirc: "Ê", Ecy: "Э", Edot: "Ė", Efr: "𝔈", Egrave: "È", Element: "∈", in: "∈", isin: "∈", isinv: "∈", Emacr: "Ē", EmptySmallSquare: "◻", EmptyVerySmallSquare: "▫", Eogon: "Ę", Eopf: "𝔼", Epsilon: "Ε", Equal: "⩵", EqualTilde: "≂", eqsim: "≂", esim: "≂", Equilibrium: "⇌", rightleftharpoons: "⇌", rlhar: "⇌", Escr: "ℰ", expectation: "ℰ", Esim: "⩳", Eta: "Η", Euml: "Ë", Exists: "∃", exist: "∃", ExponentialE: "ⅇ", ee: "ⅇ", exponentiale: "ⅇ", Fcy: "Ф", Ffr: "𝔉", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", blacksquare: "▪", squarf: "▪", squf: "▪", Fopf: "𝔽", ForAll: "∀", forall: "∀", Fouriertrf: "ℱ", Fscr: "ℱ", GJcy: "Ѓ", GT: ">", gt: ">", Gamma: "Γ", Gammad: "Ϝ", Gbreve: "Ğ", Gcedil: "Ģ", Gcirc: "Ĝ", Gcy: "Г", Gdot: "Ġ", Gfr: "𝔊", Gg: "⋙", ggg: "⋙", Gopf: "𝔾", GreaterEqual: "≥", ge: "≥", geq: "≥", GreaterEqualLess: "⋛", gel: "⋛", gtreqless: "⋛", GreaterFullEqual: "≧", gE: "≧", geqq: "≧", GreaterGreater: "⪢", GreaterLess: "≷", gl: "≷", gtrless: "≷", GreaterSlantEqual: "⩾", geqslant: "⩾", ges: "⩾", GreaterTilde: "≳", gsim: "≳", gtrsim: "≳", Gscr: "𝒢", Gt: "≫", NestedGreaterGreater: "≫", gg: "≫", HARDcy: "Ъ", Hacek: "ˇ", caron: "ˇ", Hat: "^", Hcirc: "Ĥ", Hfr: "ℌ", Poincareplane: "ℌ", HilbertSpace: "ℋ", Hscr: "ℋ", hamilt: "ℋ", Hopf: "ℍ", quaternions: "ℍ", HorizontalLine: "─", boxh: "─", Hstrok: "Ħ", HumpEqual: "≏", bumpe: "≏", bumpeq: "≏", IEcy: "Е", IJlig: "IJ", IOcy: "Ё", Iacute: "Í", Icirc: "Î", Icy: "И", Idot: "İ", Ifr: "ℑ", Im: "ℑ", image: "ℑ", imagpart: "ℑ", Igrave: "Ì", Imacr: "Ī", ImaginaryI: "ⅈ", ii: "ⅈ", Int: "∬", Integral: "∫", int: "∫", Intersection: "⋂", bigcap: "⋂", xcap: "⋂", InvisibleComma: "⁣", ic: "⁣", InvisibleTimes: "⁢", it: "⁢", Iogon: "Į", Iopf: "𝕀", Iota: "Ι", Iscr: "ℐ", imagline: "ℐ", Itilde: "Ĩ", Iukcy: "І", Iuml: "Ï", Jcirc: "Ĵ", Jcy: "Й", Jfr: "𝔍", Jopf: "𝕁", Jscr: "𝒥", Jsercy: "Ј", Jukcy: "Є", KHcy: "Х", KJcy: "Ќ", Kappa: "Κ", Kcedil: "Ķ", Kcy: "К", Kfr: "𝔎", Kopf: "𝕂", Kscr: "𝒦", LJcy: "Љ", LT: "<", lt: "<", Lacute: "Ĺ", Lambda: "Λ", Lang: "⟪", Laplacetrf: "ℒ", Lscr: "ℒ", lagran: "ℒ", Larr: "↞", twoheadleftarrow: "↞", Lcaron: "Ľ", Lcedil: "Ļ", Lcy: "Л", LeftAngleBracket: "⟨", lang: "⟨", langle: "⟨", LeftArrow: "←", ShortLeftArrow: "←", larr: "←", leftarrow: "←", slarr: "←", LeftArrowBar: "⇤", larrb: "⇤", LeftArrowRightArrow: "⇆", leftrightarrows: "⇆", lrarr: "⇆", LeftCeiling: "⌈", lceil: "⌈", LeftDoubleBracket: "⟦", lobrk: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", dharl: "⇃", downharpoonleft: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", lfloor: "⌊", LeftRightArrow: "↔", harr: "↔", leftrightarrow: "↔", LeftRightVector: "⥎", LeftTee: "⊣", dashv: "⊣", LeftTeeArrow: "↤", mapstoleft: "↤", LeftTeeVector: "⥚", LeftTriangle: "⊲", vartriangleleft: "⊲", vltri: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", ltrie: "⊴", trianglelefteq: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", uharl: "↿", upharpoonleft: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", leftharpoonup: "↼", lharu: "↼", LeftVectorBar: "⥒", LessEqualGreater: "⋚", leg: "⋚", lesseqgtr: "⋚", LessFullEqual: "≦", lE: "≦", leqq: "≦", LessGreater: "≶", lessgtr: "≶", lg: "≶", LessLess: "⪡", LessSlantEqual: "⩽", leqslant: "⩽", les: "⩽", LessTilde: "≲", lesssim: "≲", lsim: "≲", Lfr: "𝔏", Ll: "⋘", Lleftarrow: "⇚", lAarr: "⇚", Lmidot: "Ŀ", LongLeftArrow: "⟵", longleftarrow: "⟵", xlarr: "⟵", LongLeftRightArrow: "⟷", longleftrightarrow: "⟷", xharr: "⟷", LongRightArrow: "⟶", longrightarrow: "⟶", xrarr: "⟶", Lopf: "𝕃", LowerLeftArrow: "↙", swarr: "↙", swarrow: "↙", LowerRightArrow: "↘", searr: "↘", searrow: "↘", Lsh: "↰", lsh: "↰", Lstrok: "Ł", Lt: "≪", NestedLessLess: "≪", ll: "≪", Map: "⤅", Mcy: "М", MediumSpace: " ", Mellintrf: "ℳ", Mscr: "ℳ", phmmat: "ℳ", Mfr: "𝔐", MinusPlus: "∓", mnplus: "∓", mp: "∓", Mopf: "𝕄", Mu: "Μ", NJcy: "Њ", Nacute: "Ń", Ncaron: "Ň", Ncedil: "Ņ", Ncy: "Н", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", ZeroWidthSpace: "​", NewLine: `
1514
- `, Nfr: "𝔑", NoBreak: "⁠", NonBreakingSpace: " ", nbsp: " ", Nopf: "ℕ", naturals: "ℕ", Not: "⫬", NotCongruent: "≢", nequiv: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", npar: "∦", nparallel: "∦", nshortparallel: "∦", nspar: "∦", NotElement: "∉", notin: "∉", notinva: "∉", NotEqual: "≠", ne: "≠", NotEqualTilde: "≂̸", nesim: "≂̸", NotExists: "∄", nexist: "∄", nexists: "∄", NotGreater: "≯", ngt: "≯", ngtr: "≯", NotGreaterEqual: "≱", nge: "≱", ngeq: "≱", NotGreaterFullEqual: "≧̸", ngE: "≧̸", ngeqq: "≧̸", NotGreaterGreater: "≫̸", nGtv: "≫̸", NotGreaterLess: "≹", ntgl: "≹", NotGreaterSlantEqual: "⩾̸", ngeqslant: "⩾̸", nges: "⩾̸", NotGreaterTilde: "≵", ngsim: "≵", NotHumpDownHump: "≎̸", nbump: "≎̸", NotHumpEqual: "≏̸", nbumpe: "≏̸", NotLeftTriangle: "⋪", nltri: "⋪", ntriangleleft: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", nltrie: "⋬", ntrianglelefteq: "⋬", NotLess: "≮", nless: "≮", nlt: "≮", NotLessEqual: "≰", nle: "≰", nleq: "≰", NotLessGreater: "≸", ntlg: "≸", NotLessLess: "≪̸", nLtv: "≪̸", NotLessSlantEqual: "⩽̸", nleqslant: "⩽̸", nles: "⩽̸", NotLessTilde: "≴", nlsim: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", NotPrecedes: "⊀", npr: "⊀", nprec: "⊀", NotPrecedesEqual: "⪯̸", npre: "⪯̸", npreceq: "⪯̸", NotPrecedesSlantEqual: "⋠", nprcue: "⋠", NotReverseElement: "∌", notni: "∌", notniva: "∌", NotRightTriangle: "⋫", nrtri: "⋫", ntriangleright: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", nrtrie: "⋭", ntrianglerighteq: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", nsqsube: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", nsqsupe: "⋣", NotSubset: "⊂⃒", nsubset: "⊂⃒", vnsub: "⊂⃒", NotSubsetEqual: "⊈", nsube: "⊈", nsubseteq: "⊈", NotSucceeds: "⊁", nsc: "⊁", nsucc: "⊁", NotSucceedsEqual: "⪰̸", nsce: "⪰̸", nsucceq: "⪰̸", NotSucceedsSlantEqual: "⋡", nsccue: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", nsupset: "⊃⃒", vnsup: "⊃⃒", NotSupersetEqual: "⊉", nsupe: "⊉", nsupseteq: "⊉", NotTilde: "≁", nsim: "≁", NotTildeEqual: "≄", nsime: "≄", nsimeq: "≄", NotTildeFullEqual: "≇", ncong: "≇", NotTildeTilde: "≉", nap: "≉", napprox: "≉", NotVerticalBar: "∤", nmid: "∤", nshortmid: "∤", nsmid: "∤", Nscr: "𝒩", Ntilde: "Ñ", Nu: "Ν", OElig: "Œ", Oacute: "Ó", Ocirc: "Ô", Ocy: "О", Odblac: "Ő", Ofr: "𝔒", Ograve: "Ò", Omacr: "Ō", Omega: "Ω", ohm: "Ω", Omicron: "Ο", Oopf: "𝕆", OpenCurlyDoubleQuote: "“", ldquo: "“", OpenCurlyQuote: "‘", lsquo: "‘", Or: "⩔", Oscr: "𝒪", Oslash: "Ø", Otilde: "Õ", Otimes: "⨷", Ouml: "Ö", OverBar: "‾", oline: "‾", OverBrace: "⏞", OverBracket: "⎴", tbrk: "⎴", OverParenthesis: "⏜", PartialD: "∂", part: "∂", Pcy: "П", Pfr: "𝔓", Phi: "Φ", Pi: "Π", PlusMinus: "±", plusmn: "±", pm: "±", Popf: "ℙ", primes: "ℙ", Pr: "⪻", Precedes: "≺", pr: "≺", prec: "≺", PrecedesEqual: "⪯", pre: "⪯", preceq: "⪯", PrecedesSlantEqual: "≼", prcue: "≼", preccurlyeq: "≼", PrecedesTilde: "≾", precsim: "≾", prsim: "≾", Prime: "″", Product: "∏", prod: "∏", Proportional: "∝", prop: "∝", propto: "∝", varpropto: "∝", vprop: "∝", Pscr: "𝒫", Psi: "Ψ", QUOT: '"', quot: '"', Qfr: "𝔔", Qopf: "ℚ", rationals: "ℚ", Qscr: "𝒬", RBarr: "⤐", drbkarow: "⤐", REG: "®", circledR: "®", reg: "®", Racute: "Ŕ", Rang: "⟫", Rarr: "↠", twoheadrightarrow: "↠", Rarrtl: "⤖", Rcaron: "Ř", Rcedil: "Ŗ", Rcy: "Р", Re: "ℜ", Rfr: "ℜ", real: "ℜ", realpart: "ℜ", ReverseElement: "∋", SuchThat: "∋", ni: "∋", niv: "∋", ReverseEquilibrium: "⇋", leftrightharpoons: "⇋", lrhar: "⇋", ReverseUpEquilibrium: "⥯", duhar: "⥯", Rho: "Ρ", RightAngleBracket: "⟩", rang: "⟩", rangle: "⟩", RightArrow: "→", ShortRightArrow: "→", rarr: "→", rightarrow: "→", srarr: "→", RightArrowBar: "⇥", rarrb: "⇥", RightArrowLeftArrow: "⇄", rightleftarrows: "⇄", rlarr: "⇄", RightCeiling: "⌉", rceil: "⌉", RightDoubleBracket: "⟧", robrk: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", dharr: "⇂", downharpoonright: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rfloor: "⌋", RightTee: "⊢", vdash: "⊢", RightTeeArrow: "↦", map: "↦", mapsto: "↦", RightTeeVector: "⥛", RightTriangle: "⊳", vartriangleright: "⊳", vrtri: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", rtrie: "⊵", trianglerighteq: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", uharr: "↾", upharpoonright: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", rharu: "⇀", rightharpoonup: "⇀", RightVectorBar: "⥓", Ropf: "ℝ", reals: "ℝ", RoundImplies: "⥰", Rrightarrow: "⇛", rAarr: "⇛", Rscr: "ℛ", realine: "ℛ", Rsh: "↱", rsh: "↱", RuleDelayed: "⧴", SHCHcy: "Щ", SHcy: "Ш", SOFTcy: "Ь", Sacute: "Ś", Sc: "⪼", Scaron: "Š", Scedil: "Ş", Scirc: "Ŝ", Scy: "С", Sfr: "𝔖", ShortUpArrow: "↑", UpArrow: "↑", uarr: "↑", uparrow: "↑", Sigma: "Σ", SmallCircle: "∘", compfn: "∘", Sopf: "𝕊", Sqrt: "√", radic: "√", Square: "□", squ: "□", square: "□", SquareIntersection: "⊓", sqcap: "⊓", SquareSubset: "⊏", sqsub: "⊏", sqsubset: "⊏", SquareSubsetEqual: "⊑", sqsube: "⊑", sqsubseteq: "⊑", SquareSuperset: "⊐", sqsup: "⊐", sqsupset: "⊐", SquareSupersetEqual: "⊒", sqsupe: "⊒", sqsupseteq: "⊒", SquareUnion: "⊔", sqcup: "⊔", Sscr: "𝒮", Star: "⋆", sstarf: "⋆", Sub: "⋐", Subset: "⋐", SubsetEqual: "⊆", sube: "⊆", subseteq: "⊆", Succeeds: "≻", sc: "≻", succ: "≻", SucceedsEqual: "⪰", sce: "⪰", succeq: "⪰", SucceedsSlantEqual: "≽", sccue: "≽", succcurlyeq: "≽", SucceedsTilde: "≿", scsim: "≿", succsim: "≿", Sum: "∑", sum: "∑", Sup: "⋑", Supset: "⋑", Superset: "⊃", sup: "⊃", supset: "⊃", SupersetEqual: "⊇", supe: "⊇", supseteq: "⊇", THORN: "Þ", TRADE: "™", trade: "™", TSHcy: "Ћ", TScy: "Ц", Tab: " ", Tau: "Τ", Tcaron: "Ť", Tcedil: "Ţ", Tcy: "Т", Tfr: "𝔗", Therefore: "∴", there4: "∴", therefore: "∴", Theta: "Θ", ThickSpace: "  ", ThinSpace: " ", thinsp: " ", Tilde: "∼", sim: "∼", thicksim: "∼", thksim: "∼", TildeEqual: "≃", sime: "≃", simeq: "≃", TildeFullEqual: "≅", cong: "≅", TildeTilde: "≈", ap: "≈", approx: "≈", asymp: "≈", thickapprox: "≈", thkap: "≈", Topf: "𝕋", TripleDot: "⃛", tdot: "⃛", Tscr: "𝒯", Tstrok: "Ŧ", Uacute: "Ú", Uarr: "↟", Uarrocir: "⥉", Ubrcy: "Ў", Ubreve: "Ŭ", Ucirc: "Û", Ucy: "У", Udblac: "Ű", Ufr: "𝔘", Ugrave: "Ù", Umacr: "Ū", UnderBar: "_", lowbar: "_", UnderBrace: "⏟", UnderBracket: "⎵", bbrk: "⎵", UnderParenthesis: "⏝", Union: "⋃", bigcup: "⋃", xcup: "⋃", UnionPlus: "⊎", uplus: "⊎", Uogon: "Ų", Uopf: "𝕌", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", udarr: "⇅", UpDownArrow: "↕", updownarrow: "↕", varr: "↕", UpEquilibrium: "⥮", udhar: "⥮", UpTee: "⊥", bot: "⊥", bottom: "⊥", perp: "⊥", UpTeeArrow: "↥", mapstoup: "↥", UpperLeftArrow: "↖", nwarr: "↖", nwarrow: "↖", UpperRightArrow: "↗", nearr: "↗", nearrow: "↗", Upsi: "ϒ", upsih: "ϒ", Upsilon: "Υ", Uring: "Ů", Uscr: "𝒰", Utilde: "Ũ", Uuml: "Ü", VDash: "⊫", Vbar: "⫫", Vcy: "В", Vdash: "⊩", Vdashl: "⫦", Vee: "⋁", bigvee: "⋁", xvee: "⋁", Verbar: "‖", Vert: "‖", VerticalBar: "∣", mid: "∣", shortmid: "∣", smid: "∣", VerticalLine: "|", verbar: "|", vert: "|", VerticalSeparator: "❘", VerticalTilde: "≀", wr: "≀", wreath: "≀", VeryThinSpace: " ", hairsp: " ", Vfr: "𝔙", Vopf: "𝕍", Vscr: "𝒱", Vvdash: "⊪", Wcirc: "Ŵ", Wedge: "⋀", bigwedge: "⋀", xwedge: "⋀", Wfr: "𝔚", Wopf: "𝕎", Wscr: "𝒲", Xfr: "𝔛", Xi: "Ξ", Xopf: "𝕏", Xscr: "𝒳", YAcy: "Я", YIcy: "Ї", YUcy: "Ю", Yacute: "Ý", Ycirc: "Ŷ", Ycy: "Ы", Yfr: "𝔜", Yopf: "𝕐", Yscr: "𝒴", Yuml: "Ÿ", ZHcy: "Ж", Zacute: "Ź", Zcaron: "Ž", Zcy: "З", Zdot: "Ż", Zeta: "Ζ", Zfr: "ℨ", zeetrf: "ℨ", Zopf: "ℤ", integers: "ℤ", Zscr: "𝒵", aacute: "á", abreve: "ă", ac: "∾", mstpos: "∾", acE: "∾̳", acd: "∿", acirc: "â", acy: "а", aelig: "æ", afr: "𝔞", agrave: "à", alefsym: "ℵ", aleph: "ℵ", alpha: "α", amacr: "ā", amalg: "⨿", and: "∧", wedge: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", angle: "∠", ange: "⦤", angmsd: "∡", measuredangle: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angzarr: "⍼", aogon: "ą", aopf: "𝕒", apE: "⩰", apacir: "⩯", ape: "≊", approxeq: "≊", apid: "≋", apos: "'", aring: "å", ascr: "𝒶", ast: "*", midast: "*", atilde: "ã", auml: "ä", awint: "⨑", bNot: "⫭", backcong: "≌", bcong: "≌", backepsilon: "϶", bepsi: "϶", backprime: "‵", bprime: "‵", backsim: "∽", bsim: "∽", backsimeq: "⋍", bsime: "⋍", barvee: "⊽", barwed: "⌅", barwedge: "⌅", bbrktbrk: "⎶", bcy: "б", bdquo: "„", ldquor: "„", bemptyv: "⦰", beta: "β", beth: "ℶ", between: "≬", twixt: "≬", bfr: "𝔟", bigcirc: "◯", xcirc: "◯", bigodot: "⨀", xodot: "⨀", bigoplus: "⨁", xoplus: "⨁", bigotimes: "⨂", xotime: "⨂", bigsqcup: "⨆", xsqcup: "⨆", bigstar: "★", starf: "★", bigtriangledown: "▽", xdtri: "▽", bigtriangleup: "△", xutri: "△", biguplus: "⨄", xuplus: "⨄", bkarow: "⤍", rbarr: "⤍", blacklozenge: "⧫", lozf: "⧫", blacktriangle: "▴", utrif: "▴", blacktriangledown: "▾", dtrif: "▾", blacktriangleleft: "◂", ltrif: "◂", blacktriangleright: "▸", rtrif: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bnot: "⌐", bopf: "𝕓", bowtie: "⋈", boxDL: "╗", boxDR: "╔", boxDl: "╖", boxDr: "╓", boxH: "═", boxHD: "╦", boxHU: "╩", boxHd: "╤", boxHu: "╧", boxUL: "╝", boxUR: "╚", boxUl: "╜", boxUr: "╙", boxV: "║", boxVH: "╬", boxVL: "╣", boxVR: "╠", boxVh: "╫", boxVl: "╢", boxVr: "╟", boxbox: "⧉", boxdL: "╕", boxdR: "╒", boxdl: "┐", boxdr: "┌", boxhD: "╥", boxhU: "╨", boxhd: "┬", boxhu: "┴", boxminus: "⊟", minusb: "⊟", boxplus: "⊞", plusb: "⊞", boxtimes: "⊠", timesb: "⊠", boxuL: "╛", boxuR: "╘", boxul: "┘", boxur: "└", boxv: "│", boxvH: "╪", boxvL: "╡", boxvR: "╞", boxvh: "┼", boxvl: "┤", boxvr: "├", brvbar: "¦", bscr: "𝒷", bsemi: "⁏", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bumpE: "⪮", cacute: "ć", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", caps: "∩︀", caret: "⁁", ccaps: "⩍", ccaron: "č", ccedil: "ç", ccirc: "ĉ", ccups: "⩌", ccupssm: "⩐", cdot: "ċ", cemptyv: "⦲", cent: "¢", cfr: "𝔠", chcy: "ч", check: "✓", checkmark: "✓", chi: "χ", cir: "○", cirE: "⧃", circ: "ˆ", circeq: "≗", cire: "≗", circlearrowleft: "↺", olarr: "↺", circlearrowright: "↻", orarr: "↻", circledS: "Ⓢ", oS: "Ⓢ", circledast: "⊛", oast: "⊛", circledcirc: "⊚", ocir: "⊚", circleddash: "⊝", odash: "⊝", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", clubs: "♣", clubsuit: "♣", colon: ":", comma: ",", commat: "@", comp: "∁", complement: "∁", congdot: "⩭", copf: "𝕔", copysr: "℗", crarr: "↵", cross: "✗", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", curlyeqprec: "⋞", cuesc: "⋟", curlyeqsucc: "⋟", cularr: "↶", curvearrowleft: "↶", cularrp: "⤽", cup: "∪", cupbrcap: "⩈", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curvearrowright: "↷", curarrm: "⤼", curlyvee: "⋎", cuvee: "⋎", curlywedge: "⋏", cuwed: "⋏", curren: "¤", cwint: "∱", cylcty: "⌭", dHar: "⥥", dagger: "†", daleth: "ℸ", dash: "‐", hyphen: "‐", dbkarow: "⤏", rBarr: "⤏", dcaron: "ď", dcy: "д", ddarr: "⇊", downdownarrows: "⇊", ddotseq: "⩷", eDDot: "⩷", deg: "°", delta: "δ", demptyv: "⦱", dfisht: "⥿", dfr: "𝔡", diamondsuit: "♦", diams: "♦", digamma: "ϝ", gammad: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", djcy: "ђ", dlcorn: "⌞", llcorner: "⌞", dlcrop: "⌍", dollar: "$", dopf: "𝕕", doteqdot: "≑", eDot: "≑", dotminus: "∸", minusd: "∸", dotplus: "∔", plusdo: "∔", dotsquare: "⊡", sdotb: "⊡", drcorn: "⌟", lrcorner: "⌟", drcrop: "⌌", dscr: "𝒹", dscy: "ѕ", dsol: "⧶", dstrok: "đ", dtdot: "⋱", dtri: "▿", triangledown: "▿", dwangle: "⦦", dzcy: "џ", dzigrarr: "⟿", eacute: "é", easter: "⩮", ecaron: "ě", ecir: "≖", eqcirc: "≖", ecirc: "ê", ecolon: "≕", eqcolon: "≕", ecy: "э", edot: "ė", efDot: "≒", fallingdotseq: "≒", efr: "𝔢", eg: "⪚", egrave: "è", egs: "⪖", eqslantgtr: "⪖", egsdot: "⪘", el: "⪙", elinters: "⏧", ell: "ℓ", els: "⪕", eqslantless: "⪕", elsdot: "⪗", emacr: "ē", empty: "∅", emptyset: "∅", emptyv: "∅", varnothing: "∅", emsp13: " ", emsp14: " ", emsp: " ", eng: "ŋ", ensp: " ", eogon: "ę", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", epsilon: "ε", epsiv: "ϵ", straightepsilon: "ϵ", varepsilon: "ϵ", equals: "=", equest: "≟", questeq: "≟", equivDD: "⩸", eqvparsl: "⧥", erDot: "≓", risingdotseq: "≓", erarr: "⥱", escr: "ℯ", eta: "η", eth: "ð", euml: "ë", euro: "€", excl: "!", fcy: "ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", ffr: "𝔣", filig: "fi", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", fopf: "𝕗", fork: "⋔", pitchfork: "⋔", forkv: "⫙", fpartint: "⨍", frac12: "½", half: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", sfrown: "⌢", fscr: "𝒻", gEl: "⪌", gtreqqless: "⪌", gacute: "ǵ", gamma: "γ", gap: "⪆", gtrapprox: "⪆", gbreve: "ğ", gcirc: "ĝ", gcy: "г", gdot: "ġ", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", gfr: "𝔤", gimel: "ℷ", gjcy: "ѓ", glE: "⪒", gla: "⪥", glj: "⪤", gnE: "≩", gneqq: "≩", gnap: "⪊", gnapprox: "⪊", gne: "⪈", gneq: "⪈", gnsim: "⋧", gopf: "𝕘", gscr: "ℊ", gsime: "⪎", gsiml: "⪐", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtrdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrarr: "⥸", gvertneqq: "≩︀", gvnE: "≩︀", hardcy: "ъ", harrcir: "⥈", harrw: "↭", leftrightsquigarrow: "↭", hbar: "ℏ", hslash: "ℏ", planck: "ℏ", plankv: "ℏ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", mldr: "…", hercon: "⊹", hfr: "𝔥", hksearow: "⤥", searhk: "⤥", hkswarow: "⤦", swarhk: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", larrhk: "↩", hookrightarrow: "↪", rarrhk: "↪", hopf: "𝕙", horbar: "―", hscr: "𝒽", hstrok: "ħ", hybull: "⁃", iacute: "í", icirc: "î", icy: "и", iecy: "е", iexcl: "¡", ifr: "𝔦", igrave: "ì", iiiint: "⨌", qint: "⨌", iiint: "∭", tint: "∭", iinfin: "⧜", iiota: "℩", ijlig: "ij", imacr: "ī", imath: "ı", inodot: "ı", imof: "⊷", imped: "Ƶ", incare: "℅", infin: "∞", infintie: "⧝", intcal: "⊺", intercal: "⊺", intlarhk: "⨗", intprod: "⨼", iprod: "⨼", iocy: "ё", iogon: "į", iopf: "𝕚", iota: "ι", iquest: "¿", iscr: "𝒾", isinE: "⋹", isindot: "⋵", isins: "⋴", isinsv: "⋳", itilde: "ĩ", iukcy: "і", iuml: "ï", jcirc: "ĵ", jcy: "й", jfr: "𝔧", jmath: "ȷ", jopf: "𝕛", jscr: "𝒿", jsercy: "ј", jukcy: "є", kappa: "κ", kappav: "ϰ", varkappa: "ϰ", kcedil: "ķ", kcy: "к", kfr: "𝔨", kgreen: "ĸ", khcy: "х", kjcy: "ќ", kopf: "𝕜", kscr: "𝓀", lAtail: "⤛", lBarr: "⤎", lEg: "⪋", lesseqqgtr: "⪋", lHar: "⥢", lacute: "ĺ", laemptyv: "⦴", lambda: "λ", langd: "⦑", lap: "⪅", lessapprox: "⪅", laquo: "«", larrbfs: "⤟", larrfs: "⤝", larrlp: "↫", looparrowleft: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", leftarrowtail: "↢", lat: "⪫", latail: "⤙", late: "⪭", lates: "⪭︀", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lcub: "{", lbrack: "[", lsqb: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", lcaron: "ľ", lcedil: "ļ", lcy: "л", ldca: "⤶", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", le: "≤", leq: "≤", leftleftarrows: "⇇", llarr: "⇇", leftthreetimes: "⋋", lthree: "⋋", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessdot: "⋖", ltdot: "⋖", lfisht: "⥼", lfr: "𝔩", lgE: "⪑", lharul: "⥪", lhblk: "▄", ljcy: "љ", llhard: "⥫", lltri: "◺", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnE: "≨", lneqq: "≨", lnap: "⪉", lnapprox: "⪉", lne: "⪇", lneq: "⪇", lnsim: "⋦", loang: "⟬", loarr: "⇽", longmapsto: "⟼", xmap: "⟼", looparrowright: "↬", rarrlp: "↬", lopar: "⦅", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", loz: "◊", lozenge: "◊", lpar: "(", lparlt: "⦓", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", lscr: "𝓁", lsime: "⪍", lsimg: "⪏", lsquor: "‚", sbquo: "‚", lstrok: "ł", ltcc: "⪦", ltcir: "⩹", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltrPar: "⦖", ltri: "◃", triangleleft: "◃", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", mDDot: "∺", macr: "¯", strns: "¯", male: "♂", malt: "✠", maltese: "✠", marker: "▮", mcomma: "⨩", mcy: "м", mdash: "—", mfr: "𝔪", mho: "℧", micro: "µ", midcir: "⫰", minus: "−", minusdu: "⨪", mlcp: "⫛", models: "⊧", mopf: "𝕞", mscr: "𝓂", mu: "μ", multimap: "⊸", mumap: "⊸", nGg: "⋙̸", nGt: "≫⃒", nLeftarrow: "⇍", nlArr: "⇍", nLeftrightarrow: "⇎", nhArr: "⇎", nLl: "⋘̸", nLt: "≪⃒", nRightarrow: "⇏", nrArr: "⇏", nVDash: "⊯", nVdash: "⊮", nacute: "ń", nang: "∠⃒", napE: "⩰̸", napid: "≋̸", napos: "ʼn", natur: "♮", natural: "♮", ncap: "⩃", ncaron: "ň", ncedil: "ņ", ncongdot: "⩭̸", ncup: "⩂", ncy: "н", ndash: "–", neArr: "⇗", nearhk: "⤤", nedot: "≐̸", nesear: "⤨", toea: "⤨", nfr: "𝔫", nharr: "↮", nleftrightarrow: "↮", nhpar: "⫲", nis: "⋼", nisd: "⋺", njcy: "њ", nlE: "≦̸", nleqq: "≦̸", nlarr: "↚", nleftarrow: "↚", nldr: "‥", nopf: "𝕟", not: "¬", notinE: "⋹̸", notindot: "⋵̸", notinvb: "⋷", notinvc: "⋶", notnivb: "⋾", notnivc: "⋽", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", nrarr: "↛", nrightarrow: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nscr: "𝓃", nsub: "⊄", nsubE: "⫅̸", nsubseteqq: "⫅̸", nsup: "⊅", nsupE: "⫆̸", nsupseteqq: "⫆̸", ntilde: "ñ", nu: "ν", num: "#", numero: "№", numsp: " ", nvDash: "⊭", nvHarr: "⤄", nvap: "≍⃒", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwArr: "⇖", nwarhk: "⤣", nwnear: "⤧", oacute: "ó", ocirc: "ô", ocy: "о", odblac: "ő", odiv: "⨸", odsold: "⦼", oelig: "œ", ofcir: "⦿", ofr: "𝔬", ogon: "˛", ograve: "ò", ogt: "⧁", ohbar: "⦵", olcir: "⦾", olcross: "⦻", olt: "⧀", omacr: "ō", omega: "ω", omicron: "ο", omid: "⦶", oopf: "𝕠", opar: "⦷", operp: "⦹", or: "∨", vee: "∨", ord: "⩝", order: "ℴ", orderof: "ℴ", oscr: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oslash: "ø", osol: "⊘", otilde: "õ", otimesas: "⨶", ouml: "ö", ovbar: "⌽", para: "¶", parsim: "⫳", parsl: "⫽", pcy: "п", percnt: "%", period: ".", permil: "‰", pertenk: "‱", pfr: "𝔭", phi: "φ", phiv: "ϕ", straightphi: "ϕ", varphi: "ϕ", phone: "☎", pi: "π", piv: "ϖ", varpi: "ϖ", planckh: "ℎ", plus: "+", plusacir: "⨣", pluscir: "⨢", plusdu: "⨥", pluse: "⩲", plussim: "⨦", plustwo: "⨧", pointint: "⨕", popf: "𝕡", pound: "£", prE: "⪳", prap: "⪷", precapprox: "⪷", precnapprox: "⪹", prnap: "⪹", precneqq: "⪵", prnE: "⪵", precnsim: "⋨", prnsim: "⋨", prime: "′", profalar: "⌮", profline: "⌒", profsurf: "⌓", prurel: "⊰", pscr: "𝓅", psi: "ψ", puncsp: " ", qfr: "𝔮", qopf: "𝕢", qprime: "⁗", qscr: "𝓆", quatint: "⨖", quest: "?", rAtail: "⤜", rHar: "⥤", race: "∽̱", racute: "ŕ", raemptyv: "⦳", rangd: "⦒", range: "⦥", raquo: "»", rarrap: "⥵", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrpl: "⥅", rarrsim: "⥴", rarrtl: "↣", rightarrowtail: "↣", rarrw: "↝", rightsquigarrow: "↝", ratail: "⤚", ratio: "∶", rbbrk: "❳", rbrace: "}", rcub: "}", rbrack: "]", rsqb: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", rcaron: "ř", rcedil: "ŗ", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdsh: "↳", rect: "▭", rfisht: "⥽", rfr: "𝔯", rharul: "⥬", rho: "ρ", rhov: "ϱ", varrho: "ϱ", rightrightarrows: "⇉", rrarr: "⇉", rightthreetimes: "⋌", rthree: "⋌", ring: "˚", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", ropar: "⦆", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", rpar: ")", rpargt: "⦔", rppolint: "⨒", rsaquo: "›", rscr: "𝓇", rtimes: "⋊", rtri: "▹", triangleright: "▹", rtriltri: "⧎", ruluhar: "⥨", rx: "℞", sacute: "ś", scE: "⪴", scap: "⪸", succapprox: "⪸", scaron: "š", scedil: "ş", scirc: "ŝ", scnE: "⪶", succneqq: "⪶", scnap: "⪺", succnapprox: "⪺", scnsim: "⋩", succnsim: "⋩", scpolint: "⨓", scy: "с", sdot: "⋅", sdote: "⩦", seArr: "⇘", sect: "§", semi: ";", seswar: "⤩", tosa: "⤩", sext: "✶", sfr: "𝔰", sharp: "♯", shchcy: "щ", shcy: "ш", shy: "­", sigma: "σ", sigmaf: "ς", sigmav: "ς", varsigma: "ς", simdot: "⩪", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", smashp: "⨳", smeparsl: "⧤", smile: "⌣", ssmile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", sopf: "𝕤", spades: "♠", spadesuit: "♠", sqcaps: "⊓︀", sqcups: "⊔︀", sscr: "𝓈", star: "☆", sub: "⊂", subset: "⊂", subE: "⫅", subseteqq: "⫅", subdot: "⪽", subedot: "⫃", submult: "⫁", subnE: "⫋", subsetneqq: "⫋", subne: "⊊", subsetneq: "⊊", subplus: "⪿", subrarr: "⥹", subsim: "⫇", subsub: "⫕", subsup: "⫓", sung: "♪", sup1: "¹", sup2: "²", sup3: "³", supE: "⫆", supseteqq: "⫆", supdot: "⪾", supdsub: "⫘", supedot: "⫄", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supsetneqq: "⫌", supne: "⊋", supsetneq: "⊋", supplus: "⫀", supsim: "⫈", supsub: "⫔", supsup: "⫖", swArr: "⇙", swnwar: "⤪", szlig: "ß", target: "⌖", tau: "τ", tcaron: "ť", tcedil: "ţ", tcy: "т", telrec: "⌕", tfr: "𝔱", theta: "θ", thetasym: "ϑ", thetav: "ϑ", vartheta: "ϑ", thorn: "þ", times: "×", timesbar: "⨱", timesd: "⨰", topbot: "⌶", topcir: "⫱", topf: "𝕥", topfork: "⫚", tprime: "‴", triangle: "▵", utri: "▵", triangleq: "≜", trie: "≜", tridot: "◬", triminus: "⨺", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", tscr: "𝓉", tscy: "ц", tshcy: "ћ", tstrok: "ŧ", uHar: "⥣", uacute: "ú", ubrcy: "ў", ubreve: "ŭ", ucirc: "û", ucy: "у", udblac: "ű", ufisht: "⥾", ufr: "𝔲", ugrave: "ù", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", umacr: "ū", uogon: "ų", uopf: "𝕦", upsi: "υ", upsilon: "υ", upuparrows: "⇈", uuarr: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", uring: "ů", urtri: "◹", uscr: "𝓊", utdot: "⋰", utilde: "ũ", uuml: "ü", uwangle: "⦧", vBar: "⫨", vBarv: "⫩", vangrt: "⦜", varsubsetneq: "⊊︀", vsubne: "⊊︀", varsubsetneqq: "⫋︀", vsubnE: "⫋︀", varsupsetneq: "⊋︀", vsupne: "⊋︀", varsupsetneqq: "⫌︀", vsupnE: "⫌︀", vcy: "в", veebar: "⊻", veeeq: "≚", vellip: "⋮", vfr: "𝔳", vopf: "𝕧", vscr: "𝓋", vzigzag: "⦚", wcirc: "ŵ", wedbar: "⩟", wedgeq: "≙", weierp: "℘", wp: "℘", wfr: "𝔴", wopf: "𝕨", wscr: "𝓌", xfr: "𝔵", xi: "ξ", xnis: "⋻", xopf: "𝕩", xscr: "𝓍", yacute: "ý", yacy: "я", ycirc: "ŷ", ycy: "ы", yen: "¥", yfr: "𝔶", yicy: "ї", yopf: "𝕪", yscr: "𝓎", yucy: "ю", yuml: "ÿ", zacute: "ź", zcaron: "ž", zcy: "з", zdot: "ż", zeta: "ζ", zfr: "𝔷", zhcy: "ж", zigrarr: "⇝", zopf: "𝕫", zscr: "𝓏", zwj: "‍", zwnj: "‌" }, xs = "";
1515
- Se.ngsp = xs;
1516
- var u = function(e) {
1517
- return e[e.TAG_OPEN_START = 0] = "TAG_OPEN_START", e[e.TAG_OPEN_END = 1] = "TAG_OPEN_END", e[e.TAG_OPEN_END_VOID = 2] = "TAG_OPEN_END_VOID", e[e.TAG_CLOSE = 3] = "TAG_CLOSE", e[e.INCOMPLETE_TAG_OPEN = 4] = "INCOMPLETE_TAG_OPEN", e[e.TEXT = 5] = "TEXT", e[e.ESCAPABLE_RAW_TEXT = 6] = "ESCAPABLE_RAW_TEXT", e[e.RAW_TEXT = 7] = "RAW_TEXT", e[e.INTERPOLATION = 8] = "INTERPOLATION", e[e.ENCODED_ENTITY = 9] = "ENCODED_ENTITY", e[e.COMMENT_START = 10] = "COMMENT_START", e[e.COMMENT_END = 11] = "COMMENT_END", e[e.CDATA_START = 12] = "CDATA_START", e[e.CDATA_END = 13] = "CDATA_END", e[e.ATTR_NAME = 14] = "ATTR_NAME", e[e.ATTR_QUOTE = 15] = "ATTR_QUOTE", e[e.ATTR_VALUE_TEXT = 16] = "ATTR_VALUE_TEXT", e[e.ATTR_VALUE_INTERPOLATION = 17] = "ATTR_VALUE_INTERPOLATION", e[e.DOC_TYPE_START = 18] = "DOC_TYPE_START", e[e.DOC_TYPE_END = 19] = "DOC_TYPE_END", e[e.EXPANSION_FORM_START = 20] = "EXPANSION_FORM_START", e[e.EXPANSION_CASE_VALUE = 21] = "EXPANSION_CASE_VALUE", e[e.EXPANSION_CASE_EXP_START = 22] = "EXPANSION_CASE_EXP_START", e[e.EXPANSION_CASE_EXP_END = 23] = "EXPANSION_CASE_EXP_END", e[e.EXPANSION_FORM_END = 24] = "EXPANSION_FORM_END", e[e.BLOCK_OPEN_START = 25] = "BLOCK_OPEN_START", e[e.BLOCK_OPEN_END = 26] = "BLOCK_OPEN_END", e[e.BLOCK_CLOSE = 27] = "BLOCK_CLOSE", e[e.BLOCK_PARAMETER = 28] = "BLOCK_PARAMETER", e[e.INCOMPLETE_BLOCK_OPEN = 29] = "INCOMPLETE_BLOCK_OPEN", e[e.LET_START = 30] = "LET_START", e[e.LET_VALUE = 31] = "LET_VALUE", e[e.LET_END = 32] = "LET_END", e[e.INCOMPLETE_LET = 33] = "INCOMPLETE_LET", e[e.COMPONENT_OPEN_START = 34] = "COMPONENT_OPEN_START", e[e.COMPONENT_OPEN_END = 35] = "COMPONENT_OPEN_END", e[e.COMPONENT_OPEN_END_VOID = 36] = "COMPONENT_OPEN_END_VOID", e[e.COMPONENT_CLOSE = 37] = "COMPONENT_CLOSE", e[e.INCOMPLETE_COMPONENT_OPEN = 38] = "INCOMPLETE_COMPONENT_OPEN", e[e.DIRECTIVE_NAME = 39] = "DIRECTIVE_NAME", e[e.DIRECTIVE_OPEN = 40] = "DIRECTIVE_OPEN", e[e.DIRECTIVE_CLOSE = 41] = "DIRECTIVE_CLOSE", e[e.EOF = 42] = "EOF", e;
1518
- }({}), Ns = class {
1519
- constructor(e, t, r) {
1520
- this.tokens = e, this.errors = t, this.nonNormalizedIcuExpressions = r;
1521
- }
1522
- };
1523
- function Bs(e, t, r, n = {}) {
1524
- let a = new Ps(new sn(e, t), r, n);
1525
- return a.tokenize(), new Ns(Us(a.tokens), a.errors, a.nonNormalizedIcuExpressions);
1526
- }
1527
- var Ls = /\r\n?/g;
1528
- function W(e) {
1529
- return `Unexpected character "${e === 0 ? "EOF" : String.fromCharCode(e)}"`;
1530
- }
1531
- function nr(e) {
1532
- return `Unknown entity "${e}" - use the "&#<decimal>;" or "&#x<hex>;" syntax`;
1533
- }
1534
- function Os(e, t) {
1535
- return `Unable to parse entity "${t}" - ${e} character reference entities must end with ";"`;
1536
- }
1537
- var pt = function(e) {
1538
- return e.HEX = "hexadecimal", e.DEC = "decimal", e;
1539
- }(pt || {}), Fs = ["@if", "@else", "@for", "@switch", "@case", "@default", "@empty", "@defer", "@placeholder", "@loading", "@error"], pe = { start: "{{", end: "}}" }, Ps = class {
1540
- constructor(e, t, r) {
1541
- this._getTagContentType = t, this._currentTokenStart = null, this._currentTokenType = null, this._expansionCaseStack = [], this._openDirectiveCount = 0, this._inInterpolation = !1, this._fullNameStack = [], this.tokens = [], this.errors = [], this.nonNormalizedIcuExpressions = [], this._tokenizeIcu = r.tokenizeExpansionForms || !1, this._leadingTriviaCodePoints = r.leadingTriviaChars && r.leadingTriviaChars.map((a) => a.codePointAt(0) || 0), this._canSelfClose = r.canSelfClose || !1, this._allowHtmComponentClosingTags = r.allowHtmComponentClosingTags || !1;
1542
- let n = r.range || { endPos: e.content.length, startPos: 0, startLine: 0, startCol: 0 };
1543
- this._cursor = r.escapedString ? new Ws(e, n) : new un(e, n), this._preserveLineEndings = r.preserveLineEndings || !1, this._i18nNormalizeLineEndingsInICUs = r.i18nNormalizeLineEndingsInICUs || !1, this._tokenizeBlocks = r.tokenizeBlocks ?? !0, this._tokenizeLet = r.tokenizeLet ?? !0, this._selectorlessEnabled = r.selectorlessEnabled ?? !1;
1544
- try {
1545
- this._cursor.init();
1546
- } catch (a) {
1547
- this.handleError(a);
1548
- }
1549
- }
1550
- _processCarriageReturns(e) {
1551
- return this._preserveLineEndings ? e : e.replace(Ls, `
1552
- `);
1553
- }
1554
- tokenize() {
1555
- for (; this._cursor.peek() !== 0; ) {
1556
- let e = this._cursor.clone();
1557
- try {
1558
- if (this._attemptCharCode(60))
1559
- if (this._attemptCharCode(33))
1560
- this._attemptStr("[CDATA[") ? this._consumeCdata(e) : this._attemptStr("--") ? this._consumeComment(e) : this._attemptStrCaseInsensitive("doctype") ? this._consumeDocType(e) : this._consumeBogusComment(e);
1561
- else if (this._attemptCharCode(47))
1562
- this._consumeTagClose(e);
1563
- else {
1564
- let t = this._cursor.clone();
1565
- this._attemptCharCode(63) ? (this._cursor = t, this._consumeBogusComment(e)) : this._consumeTagOpen(e);
1566
- }
1567
- else
1568
- this._tokenizeLet && this._cursor.peek() === 64 && !this._inInterpolation && this._isLetStart() ? this._consumeLetDeclaration(e) : this._tokenizeBlocks && this._isBlockStart() ? this._consumeBlockStart(e) : this._tokenizeBlocks && !this._inInterpolation && !this._isInExpansionCase() && !this._isInExpansionForm() && this._attemptCharCode(125) ? this._consumeBlockEnd(e) : this._tokenizeIcu && this._tokenizeExpansionForm() || this._consumeWithInterpolation(u.TEXT, u.INTERPOLATION, () => this._isTextEnd(), () => this._isTagStart());
1569
- } catch (t) {
1570
- this.handleError(t);
1571
- }
1572
- }
1573
- this._beginToken(u.EOF), this._endToken([]);
1574
- }
1575
- _getBlockName() {
1576
- let e = !1, t = this._cursor.clone();
1577
- return this._attemptCharCodeUntilFn((r) => qe(r) ? !e : Vs(r) ? (e = !0, !1) : !0), this._cursor.getChars(t).trim();
1578
- }
1579
- _consumeBlockStart(e) {
1580
- this._requireCharCode(64), this._beginToken(u.BLOCK_OPEN_START, e);
1581
- let t = this._endToken([this._getBlockName()]);
1582
- if (this._cursor.peek() === 40)
1583
- if (this._cursor.advance(), this._consumeBlockParameters(), this._attemptCharCodeUntilFn(v), this._attemptCharCode(41))
1584
- this._attemptCharCodeUntilFn(v);
1585
- else {
1586
- t.type = u.INCOMPLETE_BLOCK_OPEN;
1587
- return;
1588
- }
1589
- this._attemptCharCode(123) ? (this._beginToken(u.BLOCK_OPEN_END), this._endToken([])) : t.type = u.INCOMPLETE_BLOCK_OPEN;
1590
- }
1591
- _consumeBlockEnd(e) {
1592
- this._beginToken(u.BLOCK_CLOSE, e), this._endToken([]);
1593
- }
1594
- _consumeBlockParameters() {
1595
- for (this._attemptCharCodeUntilFn(ir); this._cursor.peek() !== 41 && this._cursor.peek() !== 0; ) {
1596
- this._beginToken(u.BLOCK_PARAMETER);
1597
- let e = this._cursor.clone(), t = null, r = 0;
1598
- for (; this._cursor.peek() !== 59 && this._cursor.peek() !== 0 || t !== null; ) {
1599
- let n = this._cursor.peek();
1600
- if (n === 92)
1601
- this._cursor.advance();
1602
- else if (n === t)
1603
- t = null;
1604
- else if (t === null && at(n))
1605
- t = n;
1606
- else if (n === 40 && t === null)
1607
- r++;
1608
- else if (n === 41 && t === null) {
1609
- if (r === 0)
1610
- break;
1611
- r > 0 && r--;
1612
- }
1613
- this._cursor.advance();
1614
- }
1615
- this._endToken([this._cursor.getChars(e)]), this._attemptCharCodeUntilFn(ir);
1616
- }
1617
- }
1618
- _consumeLetDeclaration(e) {
1619
- if (this._requireStr("@let"), this._beginToken(u.LET_START, e), qe(this._cursor.peek()))
1620
- this._attemptCharCodeUntilFn(v);
1621
- else {
1622
- let r = this._endToken([this._cursor.getChars(e)]);
1623
- r.type = u.INCOMPLETE_LET;
1624
- return;
1625
- }
1626
- let t = this._endToken([this._getLetDeclarationName()]);
1627
- if (this._attemptCharCodeUntilFn(v), !this._attemptCharCode(61)) {
1628
- t.type = u.INCOMPLETE_LET;
1629
- return;
1630
- }
1631
- this._attemptCharCodeUntilFn((r) => v(r) && !He(r)), this._consumeLetDeclarationValue(), this._cursor.peek() === 59 ? (this._beginToken(u.LET_END), this._endToken([]), this._cursor.advance()) : (t.type = u.INCOMPLETE_LET, t.sourceSpan = this._cursor.getSpan(e));
1632
- }
1633
- _getLetDeclarationName() {
1634
- let e = this._cursor.clone(), t = !1;
1635
- return this._attemptCharCodeUntilFn((r) => Ee(r) || r === 36 || r === 95 || t && Ke(r) ? (t = !0, !1) : !0), this._cursor.getChars(e).trim();
1636
- }
1637
- _consumeLetDeclarationValue() {
1638
- let e = this._cursor.clone();
1639
- for (this._beginToken(u.LET_VALUE, e); this._cursor.peek() !== 0; ) {
1640
- let t = this._cursor.peek();
1641
- if (t === 59)
1642
- break;
1643
- at(t) && (this._cursor.advance(), this._attemptCharCodeUntilFn((r) => r === 92 ? (this._cursor.advance(), !1) : r === t)), this._cursor.advance();
1644
- }
1645
- this._endToken([this._cursor.getChars(e)]);
1646
- }
1647
- _tokenizeExpansionForm() {
1648
- if (this.isExpansionFormStart())
1649
- return this._consumeExpansionFormStart(), !0;
1650
- if (qs(this._cursor.peek()) && this._isInExpansionForm())
1651
- return this._consumeExpansionCaseStart(), !0;
1652
- if (this._cursor.peek() === 125) {
1653
- if (this._isInExpansionCase())
1654
- return this._consumeExpansionCaseEnd(), !0;
1655
- if (this._isInExpansionForm())
1656
- return this._consumeExpansionFormEnd(), !0;
1657
- }
1658
- return !1;
1659
- }
1660
- _beginToken(e, t = this._cursor.clone()) {
1661
- this._currentTokenStart = t, this._currentTokenType = e;
1662
- }
1663
- _endToken(e, t) {
1664
- if (this._currentTokenStart === null)
1665
- throw new J(this._cursor.getSpan(t), "Programming error - attempted to end a token when there was no start to the token");
1666
- if (this._currentTokenType === null)
1667
- throw new J(this._cursor.getSpan(this._currentTokenStart), "Programming error - attempted to end a token which has no token type");
1668
- let r = { type: this._currentTokenType, parts: e, sourceSpan: (t ?? this._cursor).getSpan(this._currentTokenStart, this._leadingTriviaCodePoints) };
1669
- return this.tokens.push(r), this._currentTokenStart = null, this._currentTokenType = null, r;
1670
- }
1671
- _createError(e, t) {
1672
- this._isInExpansionForm() && (e += ` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);
1673
- let r = new J(t, e);
1674
- return this._currentTokenStart = null, this._currentTokenType = null, r;
1675
- }
1676
- handleError(e) {
1677
- if (e instanceof Ft && (e = this._createError(e.msg, this._cursor.getSpan(e.cursor))), e instanceof J)
1678
- this.errors.push(e);
1679
- else
1680
- throw e;
1681
- }
1682
- _attemptCharCode(e) {
1683
- return this._cursor.peek() === e ? (this._cursor.advance(), !0) : !1;
1684
- }
1685
- _attemptCharCodeCaseInsensitive(e) {
1686
- return Hs(this._cursor.peek(), e) ? (this._cursor.advance(), !0) : !1;
1687
- }
1688
- _requireCharCode(e) {
1689
- let t = this._cursor.clone();
1690
- if (!this._attemptCharCode(e))
1691
- throw this._createError(W(this._cursor.peek()), this._cursor.getSpan(t));
1692
- }
1693
- _attemptStr(e) {
1694
- let t = e.length;
1695
- if (this._cursor.charsLeft() < t)
1696
- return !1;
1697
- let r = this._cursor.clone();
1698
- for (let n = 0; n < t; n++)
1699
- if (!this._attemptCharCode(e.charCodeAt(n)))
1700
- return this._cursor = r, !1;
1701
- return !0;
1702
- }
1703
- _attemptStrCaseInsensitive(e) {
1704
- for (let t = 0; t < e.length; t++)
1705
- if (!this._attemptCharCodeCaseInsensitive(e.charCodeAt(t)))
1706
- return !1;
1707
- return !0;
1708
- }
1709
- _requireStr(e) {
1710
- let t = this._cursor.clone();
1711
- if (!this._attemptStr(e))
1712
- throw this._createError(W(this._cursor.peek()), this._cursor.getSpan(t));
1713
- }
1714
- _requireStrCaseInsensitive(e) {
1715
- let t = this._cursor.clone();
1716
- if (!this._attemptStrCaseInsensitive(e))
1717
- throw this._createError(W(this._cursor.peek()), this._cursor.getSpan(t));
1718
- }
1719
- _attemptCharCodeUntilFn(e) {
1720
- for (; !e(this._cursor.peek()); )
1721
- this._cursor.advance();
1722
- }
1723
- _requireCharCodeUntilFn(e, t) {
1724
- let r = this._cursor.clone();
1725
- if (this._attemptCharCodeUntilFn(e), this._cursor.diff(r) < t)
1726
- throw this._createError(W(this._cursor.peek()), this._cursor.getSpan(r));
1727
- }
1728
- _attemptUntilChar(e) {
1729
- for (; this._cursor.peek() !== e; )
1730
- this._cursor.advance();
1731
- }
1732
- _readChar() {
1733
- let e = String.fromCodePoint(this._cursor.peek());
1734
- return this._cursor.advance(), e;
1735
- }
1736
- _peekStr(e) {
1737
- let t = e.length;
1738
- if (this._cursor.charsLeft() < t)
1739
- return !1;
1740
- let r = this._cursor.clone();
1741
- for (let n = 0; n < t; n++) {
1742
- if (r.peek() !== e.charCodeAt(n))
1743
- return !1;
1744
- r.advance();
1745
- }
1746
- return !0;
1747
- }
1748
- _isBlockStart() {
1749
- return this._cursor.peek() === 64 && Fs.some((e) => this._peekStr(e));
1750
- }
1751
- _isLetStart() {
1752
- return this._cursor.peek() === 64 && this._peekStr("@let");
1753
- }
1754
- _consumeEntity(e) {
1755
- this._beginToken(u.ENCODED_ENTITY);
1756
- let t = this._cursor.clone();
1757
- if (this._cursor.advance(), this._attemptCharCode(35)) {
1758
- let r = this._attemptCharCode(120) || this._attemptCharCode(88), n = this._cursor.clone();
1759
- if (this._attemptCharCodeUntilFn(Rs), this._cursor.peek() != 59) {
1760
- this._cursor.advance();
1761
- let i = r ? pt.HEX : pt.DEC;
1762
- throw this._createError(Os(i, this._cursor.getChars(t)), this._cursor.getSpan());
1763
- }
1764
- let a = this._cursor.getChars(n);
1765
- this._cursor.advance();
1766
- try {
1767
- let i = parseInt(a, r ? 16 : 10);
1768
- this._endToken([String.fromCodePoint(i), this._cursor.getChars(t)]);
1769
- } catch {
1770
- throw this._createError(nr(this._cursor.getChars(t)), this._cursor.getSpan());
1771
- }
1772
- } else {
1773
- let r = this._cursor.clone();
1774
- if (this._attemptCharCodeUntilFn(Ms), this._cursor.peek() != 59)
1775
- this._beginToken(e, t), this._cursor = r, this._endToken(["&"]);
1776
- else {
1777
- let n = this._cursor.getChars(r);
1778
- this._cursor.advance();
1779
- let a = Se.hasOwnProperty(n) && Se[n];
1780
- if (!a)
1781
- throw this._createError(nr(n), this._cursor.getSpan(t));
1782
- this._endToken([a, `&${n};`]);
1783
- }
1784
- }
1785
- }
1786
- _consumeRawText(e, t) {
1787
- this._beginToken(e ? u.ESCAPABLE_RAW_TEXT : u.RAW_TEXT);
1788
- let r = [];
1789
- for (; ; ) {
1790
- let n = this._cursor.clone(), a = t();
1791
- if (this._cursor = n, a)
1792
- break;
1793
- e && this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(r.join(""))]), r.length = 0, this._consumeEntity(u.ESCAPABLE_RAW_TEXT), this._beginToken(u.ESCAPABLE_RAW_TEXT)) : r.push(this._readChar());
1794
- }
1795
- this._endToken([this._processCarriageReturns(r.join(""))]);
1796
- }
1797
- _consumeComment(e) {
1798
- this._beginToken(u.COMMENT_START, e), this._endToken([]), this._consumeRawText(!1, () => this._attemptStr("-->")), this._beginToken(u.COMMENT_END), this._requireStr("-->"), this._endToken([]);
1799
- }
1800
- _consumeBogusComment(e) {
1801
- this._beginToken(u.COMMENT_START, e), this._endToken([]), this._consumeRawText(!1, () => this._cursor.peek() === 62), this._beginToken(u.COMMENT_END), this._cursor.advance(), this._endToken([]);
1802
- }
1803
- _consumeCdata(e) {
1804
- this._beginToken(u.CDATA_START, e), this._endToken([]), this._consumeRawText(!1, () => this._attemptStr("]]>")), this._beginToken(u.CDATA_END), this._requireStr("]]>"), this._endToken([]);
1805
- }
1806
- _consumeDocType(e) {
1807
- this._beginToken(u.DOC_TYPE_START, e), this._endToken([]), this._consumeRawText(!1, () => this._cursor.peek() === 62), this._beginToken(u.DOC_TYPE_END), this._cursor.advance(), this._endToken([]);
1808
- }
1809
- _consumePrefixAndName(e) {
1810
- let t = this._cursor.clone(), r = "";
1811
- for (; this._cursor.peek() !== 58 && !Is(this._cursor.peek()); )
1812
- this._cursor.advance();
1813
- let n;
1814
- this._cursor.peek() === 58 ? (r = this._cursor.getChars(t), this._cursor.advance(), n = this._cursor.clone()) : n = t, this._requireCharCodeUntilFn(e, r === "" ? 0 : 1);
1815
- let a = this._cursor.getChars(n);
1816
- return [r, a];
1817
- }
1818
- _consumeTagOpen(e) {
1819
- let t, r, n, a, i = [];
1820
- try {
1821
- if (this._selectorlessEnabled && Pe(this._cursor.peek()))
1822
- a = this._consumeComponentOpenStart(e), [n, r, t] = a.parts, r && (n += `:${r}`), t && (n += `:${t}`), this._attemptCharCodeUntilFn(v);
1823
- else {
1824
- if (!Ee(this._cursor.peek()))
1825
- throw this._createError(W(this._cursor.peek()), this._cursor.getSpan(e));
1826
- a = this._consumeTagOpenStart(e), r = a.parts[0], t = n = a.parts[1], this._attemptCharCodeUntilFn(v);
1827
- }
1828
- for (; !or(this._cursor.peek()); )
1829
- if (this._selectorlessEnabled && this._cursor.peek() === 64) {
1830
- let o = this._cursor.clone(), l = o.clone();
1831
- l.advance(), Pe(l.peek()) && this._consumeDirective(o, l);
1832
- } else {
1833
- let o = this._consumeAttribute();
1834
- i.push(o);
1835
- }
1836
- a.type === u.COMPONENT_OPEN_START ? this._consumeComponentOpenEnd() : this._consumeTagOpenEnd();
1837
- } catch (o) {
1838
- if (o instanceof J) {
1839
- a ? a.type = a.type === u.COMPONENT_OPEN_START ? u.INCOMPLETE_COMPONENT_OPEN : u.INCOMPLETE_TAG_OPEN : (this._beginToken(u.TEXT, e), this._endToken(["<"]));
1840
- return;
1841
- }
1842
- throw o;
1843
- }
1844
- if (this._canSelfClose && this.tokens[this.tokens.length - 1].type === u.TAG_OPEN_END_VOID)
1845
- return;
1846
- let s = this._getTagContentType(t, r, this._fullNameStack.length > 0, i);
1847
- this._handleFullNameStackForTagOpen(r, t), s === R.RAW_TEXT ? this._consumeRawTextWithTagClose(r, a, n, !1) : s === R.ESCAPABLE_RAW_TEXT && this._consumeRawTextWithTagClose(r, a, n, !0);
1848
- }
1849
- _consumeRawTextWithTagClose(e, t, r, n) {
1850
- this._consumeRawText(n, () => !this._attemptCharCode(60) || !this._attemptCharCode(47) || (this._attemptCharCodeUntilFn(v), !this._attemptStrCaseInsensitive(e && t.type !== u.COMPONENT_OPEN_START ? `${e}:${r}` : r)) ? !1 : (this._attemptCharCodeUntilFn(v), this._attemptCharCode(62))), this._beginToken(t.type === u.COMPONENT_OPEN_START ? u.COMPONENT_CLOSE : u.TAG_CLOSE), this._requireCharCodeUntilFn((a) => a === 62, 3), this._cursor.advance(), this._endToken(t.parts), this._handleFullNameStackForTagClose(e, r);
1851
- }
1852
- _consumeTagOpenStart(e) {
1853
- this._beginToken(u.TAG_OPEN_START, e);
1854
- let t = this._consumePrefixAndName(z);
1855
- return this._endToken(t);
1856
- }
1857
- _consumeComponentOpenStart(e) {
1858
- this._beginToken(u.COMPONENT_OPEN_START, e);
1859
- let t = this._consumeComponentName();
1860
- return this._endToken(t);
1861
- }
1862
- _consumeComponentName() {
1863
- let e = this._cursor.clone();
1864
- for (; sr(this._cursor.peek()); )
1865
- this._cursor.advance();
1866
- let t = this._cursor.getChars(e), r = "", n = "";
1867
- return this._cursor.peek() === 58 && (this._cursor.advance(), [r, n] = this._consumePrefixAndName(z)), [t, r, n];
1868
- }
1869
- _consumeAttribute() {
1870
- let [e, t] = this._consumeAttributeName(), r;
1871
- return this._attemptCharCodeUntilFn(v), this._attemptCharCode(61) && (this._attemptCharCodeUntilFn(v), r = this._consumeAttributeValue()), this._attemptCharCodeUntilFn(v), { prefix: e, name: t, value: r };
1872
- }
1873
- _consumeAttributeName() {
1874
- let e = this._cursor.peek();
1875
- if (e === 39 || e === 34)
1876
- throw this._createError(W(e), this._cursor.getSpan());
1877
- this._beginToken(u.ATTR_NAME);
1878
- let t;
1879
- if (this._openDirectiveCount > 0) {
1880
- let n = 0;
1881
- t = (a) => {
1882
- if (this._openDirectiveCount > 0) {
1883
- if (a === 40)
1884
- n++;
1885
- else if (a === 41) {
1886
- if (n === 0)
1887
- return !0;
1888
- n--;
1889
- }
1890
- }
1891
- return z(a);
1892
- };
1893
- } else if (e === 91) {
1894
- let n = 0;
1895
- t = (a) => (a === 91 ? n++ : a === 93 && n--, n <= 0 ? z(a) : He(a));
1896
- } else
1897
- t = z;
1898
- let r = this._consumePrefixAndName(t);
1899
- return this._endToken(r), r;
1900
- }
1901
- _consumeAttributeValue() {
1902
- let e;
1903
- if (this._cursor.peek() === 39 || this._cursor.peek() === 34) {
1904
- let t = this._cursor.peek();
1905
- this._consumeQuote(t);
1906
- let r = () => this._cursor.peek() === t;
1907
- e = this._consumeWithInterpolation(u.ATTR_VALUE_TEXT, u.ATTR_VALUE_INTERPOLATION, r, r), this._consumeQuote(t);
1908
- } else {
1909
- let t = () => z(this._cursor.peek());
1910
- e = this._consumeWithInterpolation(u.ATTR_VALUE_TEXT, u.ATTR_VALUE_INTERPOLATION, t, t);
1911
- }
1912
- return e;
1913
- }
1914
- _consumeQuote(e) {
1915
- this._beginToken(u.ATTR_QUOTE), this._requireCharCode(e), this._endToken([String.fromCodePoint(e)]);
1916
- }
1917
- _consumeTagOpenEnd() {
1918
- let e = this._attemptCharCode(47) ? u.TAG_OPEN_END_VOID : u.TAG_OPEN_END;
1919
- this._beginToken(e), this._requireCharCode(62), this._endToken([]);
1920
- }
1921
- _consumeComponentOpenEnd() {
1922
- let e = this._attemptCharCode(47) ? u.COMPONENT_OPEN_END_VOID : u.COMPONENT_OPEN_END;
1923
- this._beginToken(e), this._requireCharCode(62), this._endToken([]);
1924
- }
1925
- _consumeTagClose(e) {
1926
- if (this._selectorlessEnabled) {
1927
- let t = e.clone();
1928
- for (; t.peek() !== 62 && !Pe(t.peek()); )
1929
- t.advance();
1930
- if (Pe(t.peek())) {
1931
- this._beginToken(u.COMPONENT_CLOSE, e);
1932
- let r = this._consumeComponentName();
1933
- this._attemptCharCodeUntilFn(v), this._requireCharCode(62), this._endToken(r);
1934
- return;
1935
- }
1936
- }
1937
- if (this._beginToken(u.TAG_CLOSE, e), this._attemptCharCodeUntilFn(v), this._allowHtmComponentClosingTags && this._attemptCharCode(47))
1938
- this._attemptCharCodeUntilFn(v), this._requireCharCode(62), this._endToken([]);
1939
- else {
1940
- let [t, r] = this._consumePrefixAndName(z);
1941
- this._attemptCharCodeUntilFn(v), this._requireCharCode(62), this._endToken([t, r]), this._handleFullNameStackForTagClose(t, r);
1942
- }
1943
- }
1944
- _consumeExpansionFormStart() {
1945
- this._beginToken(u.EXPANSION_FORM_START), this._requireCharCode(123), this._endToken([]), this._expansionCaseStack.push(u.EXPANSION_FORM_START), this._beginToken(u.RAW_TEXT);
1946
- let e = this._readUntil(44), t = this._processCarriageReturns(e);
1947
- if (this._i18nNormalizeLineEndingsInICUs)
1948
- this._endToken([t]);
1949
- else {
1950
- let n = this._endToken([e]);
1951
- t !== e && this.nonNormalizedIcuExpressions.push(n);
1952
- }
1953
- this._requireCharCode(44), this._attemptCharCodeUntilFn(v), this._beginToken(u.RAW_TEXT);
1954
- let r = this._readUntil(44);
1955
- this._endToken([r]), this._requireCharCode(44), this._attemptCharCodeUntilFn(v);
1956
- }
1957
- _consumeExpansionCaseStart() {
1958
- this._beginToken(u.EXPANSION_CASE_VALUE);
1959
- let e = this._readUntil(123).trim();
1960
- this._endToken([e]), this._attemptCharCodeUntilFn(v), this._beginToken(u.EXPANSION_CASE_EXP_START), this._requireCharCode(123), this._endToken([]), this._attemptCharCodeUntilFn(v), this._expansionCaseStack.push(u.EXPANSION_CASE_EXP_START);
1961
- }
1962
- _consumeExpansionCaseEnd() {
1963
- this._beginToken(u.EXPANSION_CASE_EXP_END), this._requireCharCode(125), this._endToken([]), this._attemptCharCodeUntilFn(v), this._expansionCaseStack.pop();
1964
- }
1965
- _consumeExpansionFormEnd() {
1966
- this._beginToken(u.EXPANSION_FORM_END), this._requireCharCode(125), this._endToken([]), this._expansionCaseStack.pop();
1967
- }
1968
- _consumeWithInterpolation(e, t, r, n) {
1969
- this._beginToken(e);
1970
- let a = [];
1971
- for (; !r(); ) {
1972
- let s = this._cursor.clone();
1973
- this._attemptStr(pe.start) ? (this._endToken([this._processCarriageReturns(a.join(""))], s), a.length = 0, this._consumeInterpolation(t, s, n), this._beginToken(e)) : this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(a.join(""))]), a.length = 0, this._consumeEntity(e), this._beginToken(e)) : a.push(this._readChar());
1974
- }
1975
- this._inInterpolation = !1;
1976
- let i = this._processCarriageReturns(a.join(""));
1977
- return this._endToken([i]), i;
1978
- }
1979
- _consumeInterpolation(e, t, r) {
1980
- let n = [];
1981
- this._beginToken(e, t), n.push(pe.start);
1982
- let a = this._cursor.clone(), i = null, s = !1;
1983
- for (; this._cursor.peek() !== 0 && (r === null || !r()); ) {
1984
- let o = this._cursor.clone();
1985
- if (this._isTagStart()) {
1986
- this._cursor = o, n.push(this._getProcessedChars(a, o)), this._endToken(n);
1987
- return;
1988
- }
1989
- if (i === null)
1990
- if (this._attemptStr(pe.end)) {
1991
- n.push(this._getProcessedChars(a, o)), n.push(pe.end), this._endToken(n);
1992
- return;
1993
- } else
1994
- this._attemptStr("//") && (s = !0);
1995
- let l = this._cursor.peek();
1996
- this._cursor.advance(), l === 92 ? this._cursor.advance() : l === i ? i = null : !s && i === null && at(l) && (i = l);
1997
- }
1998
- n.push(this._getProcessedChars(a, this._cursor)), this._endToken(n);
1999
- }
2000
- _consumeDirective(e, t) {
2001
- for (this._requireCharCode(64), this._cursor.advance(); sr(this._cursor.peek()); )
2002
- this._cursor.advance();
2003
- this._beginToken(u.DIRECTIVE_NAME, e);
2004
- let r = this._cursor.getChars(t);
2005
- if (this._endToken([r]), this._attemptCharCodeUntilFn(v), this._cursor.peek() === 40) {
2006
- for (this._openDirectiveCount++, this._beginToken(u.DIRECTIVE_OPEN), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(v); !or(this._cursor.peek()) && this._cursor.peek() !== 41; )
2007
- this._consumeAttribute();
2008
- if (this._attemptCharCodeUntilFn(v), this._openDirectiveCount--, this._cursor.peek() !== 41) {
2009
- if (this._cursor.peek() === 62 || this._cursor.peek() === 47)
2010
- return;
2011
- throw this._createError(W(this._cursor.peek()), this._cursor.getSpan(e));
2012
- }
2013
- this._beginToken(u.DIRECTIVE_CLOSE), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(v);
2014
- }
2015
- }
2016
- _getProcessedChars(e, t) {
2017
- return this._processCarriageReturns(t.getChars(e));
2018
- }
2019
- _isTextEnd() {
2020
- return !!(this._isTagStart() || this._cursor.peek() === 0 || this._tokenizeIcu && !this._inInterpolation && (this.isExpansionFormStart() || this._cursor.peek() === 125 && this._isInExpansionCase()) || this._tokenizeBlocks && !this._inInterpolation && !this._isInExpansion() && (this._isBlockStart() || this._isLetStart() || this._cursor.peek() === 125));
2021
- }
2022
- _isTagStart() {
2023
- if (this._cursor.peek() === 60) {
2024
- let e = this._cursor.clone();
2025
- e.advance();
2026
- let t = e.peek();
2027
- if (97 <= t && t <= 122 || 65 <= t && t <= 90 || t === 47 || t === 33)
2028
- return !0;
2029
- }
2030
- return !1;
2031
- }
2032
- _readUntil(e) {
2033
- let t = this._cursor.clone();
2034
- return this._attemptUntilChar(e), this._cursor.getChars(t);
2035
- }
2036
- _isInExpansion() {
2037
- return this._isInExpansionCase() || this._isInExpansionForm();
2038
- }
2039
- _isInExpansionCase() {
2040
- return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === u.EXPANSION_CASE_EXP_START;
2041
- }
2042
- _isInExpansionForm() {
2043
- return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === u.EXPANSION_FORM_START;
2044
- }
2045
- isExpansionFormStart() {
2046
- if (this._cursor.peek() !== 123)
2047
- return !1;
2048
- let e = this._cursor.clone(), t = this._attemptStr(pe.start);
2049
- return this._cursor = e, !t;
2050
- }
2051
- _handleFullNameStackForTagOpen(e, t) {
2052
- let r = _e(e, t);
2053
- (this._fullNameStack.length === 0 || this._fullNameStack[this._fullNameStack.length - 1] === r) && this._fullNameStack.push(r);
2054
- }
2055
- _handleFullNameStackForTagClose(e, t) {
2056
- let r = _e(e, t);
2057
- this._fullNameStack.length !== 0 && this._fullNameStack[this._fullNameStack.length - 1] === r && this._fullNameStack.pop();
2058
- }
2059
- };
2060
- function v(e) {
2061
- return !qe(e) || e === 0;
2062
- }
2063
- function z(e) {
2064
- return qe(e) || e === 62 || e === 60 || e === 47 || e === 39 || e === 34 || e === 61 || e === 0;
2065
- }
2066
- function Is(e) {
2067
- return (e < 97 || 122 < e) && (e < 65 || 90 < e) && (e < 48 || e > 57);
2068
- }
2069
- function Rs(e) {
2070
- return e === 59 || e === 0 || !vs(e);
2071
- }
2072
- function Ms(e) {
2073
- return e === 59 || e === 0 || !Ee(e);
2074
- }
2075
- function qs(e) {
2076
- return e !== 125;
2077
- }
2078
- function Hs(e, t) {
2079
- return ar(e) === ar(t);
2080
- }
2081
- function ar(e) {
2082
- return e >= 97 && e <= 122 ? e - 97 + 65 : e;
2083
- }
2084
- function Vs(e) {
2085
- return Ee(e) || Ke(e) || e === 95;
2086
- }
2087
- function ir(e) {
2088
- return e !== 59 && v(e);
2089
- }
2090
- function Pe(e) {
2091
- return e === 95 || e >= 65 && e <= 90;
2092
- }
2093
- function sr(e) {
2094
- return Ee(e) || Ke(e) || e === 95;
2095
- }
2096
- function or(e) {
2097
- return e === 47 || e === 62 || e === 60 || e === 0;
2098
- }
2099
- function Us(e) {
2100
- let t = [], r;
2101
- for (let n = 0; n < e.length; n++) {
2102
- let a = e[n];
2103
- r && r.type === u.TEXT && a.type === u.TEXT || r && r.type === u.ATTR_VALUE_TEXT && a.type === u.ATTR_VALUE_TEXT ? (r.parts[0] += a.parts[0], r.sourceSpan.end = a.sourceSpan.end) : (r = a, t.push(r));
2104
- }
2105
- return t;
2106
- }
2107
- var un = class ht {
2108
- constructor(t, r) {
2109
- if (t instanceof ht) {
2110
- this.file = t.file, this.input = t.input, this.end = t.end;
2111
- let n = t.state;
2112
- this.state = { peek: n.peek, offset: n.offset, line: n.line, column: n.column };
2113
- } else {
2114
- if (!r)
2115
- throw new Error("Programming error: the range argument must be provided with a file argument.");
2116
- this.file = t, this.input = t.content, this.end = r.endPos, this.state = { peek: -1, offset: r.startPos, line: r.startLine, column: r.startCol };
2117
- }
2118
- }
2119
- clone() {
2120
- return new ht(this);
2121
- }
2122
- peek() {
2123
- return this.state.peek;
2124
- }
2125
- charsLeft() {
2126
- return this.end - this.state.offset;
2127
- }
2128
- diff(t) {
2129
- return this.state.offset - t.state.offset;
2130
- }
2131
- advance() {
2132
- this.advanceState(this.state);
2133
- }
2134
- init() {
2135
- this.updatePeek(this.state);
2136
- }
2137
- getSpan(t, r) {
2138
- t = t || this;
2139
- let n = t;
2140
- if (r)
2141
- for (; this.diff(t) > 0 && r.indexOf(t.peek()) !== -1; )
2142
- n === t && (t = t.clone()), t.advance();
2143
- let a = this.locationFromCursor(t);
2144
- return new d(a, this.locationFromCursor(this), n !== t ? this.locationFromCursor(n) : a);
2145
- }
2146
- getChars(t) {
2147
- return this.input.substring(t.state.offset, this.state.offset);
2148
- }
2149
- charAt(t) {
2150
- return this.input.charCodeAt(t);
2151
- }
2152
- advanceState(t) {
2153
- if (t.offset >= this.end)
2154
- throw this.state = t, new Ft('Unexpected character "EOF"', this);
2155
- let r = this.charAt(t.offset);
2156
- r === 10 ? (t.line++, t.column = 0) : He(r) || t.column++, t.offset++, this.updatePeek(t);
2157
- }
2158
- updatePeek(t) {
2159
- t.peek = t.offset >= this.end ? 0 : this.charAt(t.offset);
2160
- }
2161
- locationFromCursor(t) {
2162
- return new ct(t.file, t.state.offset, t.state.line, t.state.column);
2163
- }
2164
- }, Ws = class dt extends un {
2165
- constructor(t, r) {
2166
- t instanceof dt ? (super(t), this.internalState = { ...t.internalState }) : (super(t, r), this.internalState = this.state);
2167
- }
2168
- advance() {
2169
- this.state = this.internalState, super.advance(), this.processEscapeSequence();
2170
- }
2171
- init() {
2172
- super.init(), this.processEscapeSequence();
2173
- }
2174
- clone() {
2175
- return new dt(this);
2176
- }
2177
- getChars(t) {
2178
- let r = t.clone(), n = "";
2179
- for (; r.internalState.offset < this.internalState.offset; )
2180
- n += String.fromCodePoint(r.peek()), r.advance();
2181
- return n;
2182
- }
2183
- processEscapeSequence() {
2184
- let t = () => this.internalState.peek;
2185
- if (t() === 92)
2186
- if (this.internalState = { ...this.state }, this.advanceState(this.internalState), t() === 110)
2187
- this.state.peek = 10;
2188
- else if (t() === 114)
2189
- this.state.peek = 13;
2190
- else if (t() === 118)
2191
- this.state.peek = 11;
2192
- else if (t() === 116)
2193
- this.state.peek = 9;
2194
- else if (t() === 98)
2195
- this.state.peek = 8;
2196
- else if (t() === 102)
2197
- this.state.peek = 12;
2198
- else if (t() === 117)
2199
- if (this.advanceState(this.internalState), t() === 123) {
2200
- this.advanceState(this.internalState);
2201
- let r = this.clone(), n = 0;
2202
- for (; t() !== 125; )
2203
- this.advanceState(this.internalState), n++;
2204
- this.state.peek = this.decodeHexDigits(r, n);
2205
- } else {
2206
- let r = this.clone();
2207
- this.advanceState(this.internalState), this.advanceState(this.internalState), this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 4);
2208
- }
2209
- else if (t() === 120) {
2210
- this.advanceState(this.internalState);
2211
- let r = this.clone();
2212
- this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 2);
2213
- } else if (Zt(t())) {
2214
- let r = "", n = 0, a = this.clone();
2215
- for (; Zt(t()) && n < 3; )
2216
- a = this.clone(), r += String.fromCodePoint(t()), this.advanceState(this.internalState), n++;
2217
- this.state.peek = parseInt(r, 8), this.internalState = a.internalState;
2218
- } else
2219
- He(this.internalState.peek) ? (this.advanceState(this.internalState), this.state = this.internalState) : this.state.peek = this.internalState.peek;
2220
- }
2221
- decodeHexDigits(t, r) {
2222
- let n = this.input.slice(t.internalState.offset, t.internalState.offset + r), a = parseInt(n, 16);
2223
- if (isNaN(a))
2224
- throw t.state = t.internalState, new Ft("Invalid hexadecimal escape sequence", t);
2225
- return a;
2226
- }
2227
- }, Ft = class extends Error {
2228
- constructor(e, t) {
2229
- super(e), this.msg = e, this.cursor = t, Object.setPrototypeOf(this, new.target.prototype);
2230
- }
2231
- }, T = class ln extends J {
2232
- static create(t, r, n) {
2233
- return new ln(t, r, n);
2234
- }
2235
- constructor(t, r, n) {
2236
- super(r, n), this.elementName = t;
2237
- }
2238
- }, zs = class {
2239
- constructor(e, t) {
2240
- this.rootNodes = e, this.errors = t;
2241
- }
2242
- }, $s = class {
2243
- constructor(e) {
2244
- this.getTagDefinition = e;
2245
- }
2246
- parse(e, t, r, n = !1, a) {
2247
- let i = (h) => (_, ...C) => h(_.toLowerCase(), ...C), s = n ? this.getTagDefinition : i(this.getTagDefinition), o = (h) => s(h).getContentType(), l = n ? a : i(a), c = Bs(e, t, a ? (h, _, C, L) => {
2248
- let P = l(h, _, C, L);
2249
- return P !== void 0 ? P : o(h);
2250
- } : o, r), p = r && r.canSelfClose || !1, g = r && r.allowHtmComponentClosingTags || !1, f = new js(c.tokens, s, p, g, n);
2251
- return f.build(), new zs(f.rootNodes, [...c.errors, ...f.errors]);
2252
- }
2253
- }, js = class cn {
2254
- constructor(t, r, n, a, i) {
2255
- this.tokens = t, this.tagDefinitionResolver = r, this.canSelfClose = n, this.allowHtmComponentClosingTags = a, this.isTagNameCaseSensitive = i, this._index = -1, this._containerStack = [], this.rootNodes = [], this.errors = [], this._advance();
2256
- }
2257
- build() {
2258
- for (; this._peek.type !== u.EOF; )
2259
- this._peek.type === u.TAG_OPEN_START || this._peek.type === u.INCOMPLETE_TAG_OPEN ? this._consumeElementStartTag(this._advance()) : this._peek.type === u.TAG_CLOSE ? (this._closeVoidElement(), this._consumeElementEndTag(this._advance())) : this._peek.type === u.CDATA_START ? (this._closeVoidElement(), this._consumeCdata(this._advance())) : this._peek.type === u.COMMENT_START ? (this._closeVoidElement(), this._consumeComment(this._advance())) : this._peek.type === u.TEXT || this._peek.type === u.RAW_TEXT || this._peek.type === u.ESCAPABLE_RAW_TEXT ? (this._closeVoidElement(), this._consumeText(this._advance())) : this._peek.type === u.EXPANSION_FORM_START ? this._consumeExpansion(this._advance()) : this._peek.type === u.BLOCK_OPEN_START ? (this._closeVoidElement(), this._consumeBlockOpen(this._advance())) : this._peek.type === u.BLOCK_CLOSE ? (this._closeVoidElement(), this._consumeBlockClose(this._advance())) : this._peek.type === u.INCOMPLETE_BLOCK_OPEN ? (this._closeVoidElement(), this._consumeIncompleteBlock(this._advance())) : this._peek.type === u.LET_START ? (this._closeVoidElement(), this._consumeLet(this._advance())) : this._peek.type === u.DOC_TYPE_START ? this._consumeDocType(this._advance()) : this._peek.type === u.INCOMPLETE_LET ? (this._closeVoidElement(), this._consumeIncompleteLet(this._advance())) : this._peek.type === u.COMPONENT_OPEN_START || this._peek.type === u.INCOMPLETE_COMPONENT_OPEN ? this._consumeComponentStartTag(this._advance()) : this._peek.type === u.COMPONENT_CLOSE ? this._consumeComponentEndTag(this._advance()) : this._advance();
2260
- for (let t of this._containerStack)
2261
- t instanceof Y && this.errors.push(T.create(t.name, t.sourceSpan, `Unclosed block "${t.name}"`));
2262
- }
2263
- _advance() {
2264
- let t = this._peek;
2265
- return this._index < this.tokens.length - 1 && this._index++, this._peek = this.tokens[this._index], t;
2266
- }
2267
- _advanceIf(t) {
2268
- return this._peek.type === t ? this._advance() : null;
2269
- }
2270
- _consumeCdata(t) {
2271
- let r = this._advance(), n = this._getText(r), a = this._advanceIf(u.CDATA_END);
2272
- this._addToParent(new Ss(n, new d(t.sourceSpan.start, (a || r).sourceSpan.end), [r]));
2273
- }
2274
- _consumeComment(t) {
2275
- let r = this._advanceIf(u.RAW_TEXT), n = this._advanceIf(u.COMMENT_END), a = r != null ? r.parts[0].trim() : null, i = n == null ? t.sourceSpan : new d(t.sourceSpan.start, n.sourceSpan.end, t.sourceSpan.fullStart);
2276
- this._addToParent(new ks(a, i));
2277
- }
2278
- _consumeDocType(t) {
2279
- let r = this._advanceIf(u.RAW_TEXT), n = this._advanceIf(u.DOC_TYPE_END), a = r != null ? r.parts[0].trim() : null, i = new d(t.sourceSpan.start, (n || r || t).sourceSpan.end);
2280
- this._addToParent(new ws(a, i));
2281
- }
2282
- _consumeExpansion(t) {
2283
- let r = this._advance(), n = this._advance(), a = [];
2284
- for (; this._peek.type === u.EXPANSION_CASE_VALUE; ) {
2285
- let s = this._parseExpansionCase();
2286
- if (!s)
2287
- return;
2288
- a.push(s);
2289
- }
2290
- if (this._peek.type !== u.EXPANSION_FORM_END) {
2291
- this.errors.push(T.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '}'."));
2292
- return;
2293
- }
2294
- let i = new d(t.sourceSpan.start, this._peek.sourceSpan.end, t.sourceSpan.fullStart);
2295
- this._addToParent(new As(r.parts[0], n.parts[0], a, i, r.sourceSpan)), this._advance();
2296
- }
2297
- _parseExpansionCase() {
2298
- let t = this._advance();
2299
- if (this._peek.type !== u.EXPANSION_CASE_EXP_START)
2300
- return this.errors.push(T.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '{'.")), null;
2301
- let r = this._advance(), n = this._collectExpansionExpTokens(r);
2302
- if (!n)
2303
- return null;
2304
- let a = this._advance();
2305
- n.push({ type: u.EOF, parts: [], sourceSpan: a.sourceSpan });
2306
- let i = new cn(n, this.tagDefinitionResolver, this.canSelfClose, this.allowHtmComponentClosingTags, this.isTagNameCaseSensitive);
2307
- if (i.build(), i.errors.length > 0)
2308
- return this.errors = this.errors.concat(i.errors), null;
2309
- let s = new d(t.sourceSpan.start, a.sourceSpan.end, t.sourceSpan.fullStart), o = new d(r.sourceSpan.start, a.sourceSpan.end, r.sourceSpan.fullStart);
2310
- return new Ts(t.parts[0], i.rootNodes, s, t.sourceSpan, o);
2311
- }
2312
- _collectExpansionExpTokens(t) {
2313
- let r = [], n = [u.EXPANSION_CASE_EXP_START];
2314
- for (; ; ) {
2315
- if ((this._peek.type === u.EXPANSION_FORM_START || this._peek.type === u.EXPANSION_CASE_EXP_START) && n.push(this._peek.type), this._peek.type === u.EXPANSION_CASE_EXP_END)
2316
- if (ur(n, u.EXPANSION_CASE_EXP_START)) {
2317
- if (n.pop(), n.length === 0)
2318
- return r;
2319
- } else
2320
- return this.errors.push(T.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2321
- if (this._peek.type === u.EXPANSION_FORM_END)
2322
- if (ur(n, u.EXPANSION_FORM_START))
2323
- n.pop();
2324
- else
2325
- return this.errors.push(T.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2326
- if (this._peek.type === u.EOF)
2327
- return this.errors.push(T.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2328
- r.push(this._advance());
2329
- }
2330
- }
2331
- _getText(t) {
2332
- let r = t.parts[0];
2333
- if (r.length > 0 && r[0] == `
2334
- `) {
2335
- var n;
2336
- let a = this._getClosestElementLikeParent();
2337
- a != null && a.children.length == 0 && !((n = this._getTagDefinition(a)) === null || n === void 0) && n.ignoreFirstLf && (r = r.substring(1));
2338
- }
2339
- return r;
2340
- }
2341
- _consumeText(t) {
2342
- let r = [t], n = t.sourceSpan, a = t.parts[0];
2343
- if (a.length > 0 && a[0] === `
2344
- `) {
2345
- var i;
2346
- let s = this._getContainer();
2347
- s != null && s.children.length === 0 && !((i = this._getTagDefinition(s)) === null || i === void 0) && i.ignoreFirstLf && (a = a.substring(1), r[0] = { type: t.type, sourceSpan: t.sourceSpan, parts: [a] });
2348
- }
2349
- for (; this._peek.type === u.INTERPOLATION || this._peek.type === u.TEXT || this._peek.type === u.ENCODED_ENTITY; )
2350
- t = this._advance(), r.push(t), t.type === u.INTERPOLATION ? a += t.parts.join("").replace(/&([^;]+);/g, lr) : t.type === u.ENCODED_ENTITY ? a += t.parts[0] : a += t.parts.join("");
2351
- if (a.length > 0) {
2352
- let s = t.sourceSpan;
2353
- this._addToParent(new Es(a, new d(n.start, s.end, n.fullStart, n.details), r));
2354
- }
2355
- }
2356
- _closeVoidElement() {
2357
- var t;
2358
- let r = this._getContainer();
2359
- r !== null && !((t = this._getTagDefinition(r)) === null || t === void 0) && t.isVoid && this._containerStack.pop();
2360
- }
2361
- _consumeElementStartTag(t) {
2362
- var r;
2363
- let n = [], a = [];
2364
- this._consumeAttributesAndDirectives(n, a);
2365
- let i = this._getElementFullName(t, this._getClosestElementLikeParent()), s = this._getTagDefinition(i), o = !1;
2366
- if (this._peek.type === u.TAG_OPEN_END_VOID) {
2367
- this._advance(), o = !0;
2368
- let C = this._getTagDefinition(i);
2369
- this.canSelfClose || C != null && C.canSelfClose || Re(i) !== null || C != null && C.isVoid || this.errors.push(T.create(i, t.sourceSpan, `Only void, custom and foreign elements can be self closed "${t.parts[1]}"`));
2370
- } else
2371
- this._peek.type === u.TAG_OPEN_END && (this._advance(), o = !1);
2372
- let l = this._peek.sourceSpan.fullStart, c = new d(t.sourceSpan.start, l, t.sourceSpan.fullStart), p = new d(t.sourceSpan.start, l, t.sourceSpan.fullStart), g = new d(t.sourceSpan.start.moveBy(1), t.sourceSpan.end), f = new U(i, n, a, [], o, c, p, void 0, g, (s == null ? void 0 : s.isVoid) ?? !1), h = this._getContainer(), _ = h !== null && !!(!((r = this._getTagDefinition(h)) === null || r === void 0) && r.isClosedByChild(f.name));
2373
- this._pushContainer(f, _), o ? this._popContainer(i, U, c) : t.type === u.INCOMPLETE_TAG_OPEN && (this._popContainer(i, U, null), this.errors.push(T.create(i, c, `Opening tag "${i}" not terminated.`)));
2374
- }
2375
- _consumeComponentStartTag(t) {
2376
- var r;
2377
- let n = t.parts[0], a = [], i = [];
2378
- this._consumeAttributesAndDirectives(a, i);
2379
- let s = this._getClosestElementLikeParent(), o = this._getComponentTagName(t, s), l = this._getComponentFullName(t, s), c = this._peek.type === u.COMPONENT_OPEN_END_VOID;
2380
- this._advance();
2381
- let p = this._peek.sourceSpan.fullStart, g = new d(t.sourceSpan.start, p, t.sourceSpan.fullStart), f = new d(t.sourceSpan.start, p, t.sourceSpan.fullStart), h = new H(n, o, l, a, i, [], c, g, f, void 0), _ = this._getContainer(), C = _ !== null && h.tagName !== null && !!(!((r = this._getTagDefinition(_)) === null || r === void 0) && r.isClosedByChild(h.tagName));
2382
- this._pushContainer(h, C), c ? this._popContainer(l, H, g) : t.type === u.INCOMPLETE_COMPONENT_OPEN && (this._popContainer(l, H, null), this.errors.push(T.create(l, g, `Opening tag "${l}" not terminated.`)));
2383
- }
2384
- _consumeAttributesAndDirectives(t, r) {
2385
- for (; this._peek.type === u.ATTR_NAME || this._peek.type === u.DIRECTIVE_NAME; )
2386
- this._peek.type === u.DIRECTIVE_NAME ? r.push(this._consumeDirective(this._peek)) : t.push(this._consumeAttr(this._advance()));
2387
- }
2388
- _consumeComponentEndTag(t) {
2389
- let r = this._getComponentFullName(t, this._getClosestElementLikeParent());
2390
- if (!this._popContainer(r, H, t.sourceSpan)) {
2391
- let n = this._containerStack[this._containerStack.length - 1], a;
2392
- n instanceof H && n.componentName === t.parts[0] ? a = `, did you mean "${n.fullName}"?` : a = ". It may happen when the tag has already been closed by another tag.";
2393
- let i = `Unexpected closing tag "${r}"${a}`;
2394
- this.errors.push(T.create(r, t.sourceSpan, i));
2395
- }
2396
- }
2397
- _getTagDefinition(t) {
2398
- return typeof t == "string" ? this.tagDefinitionResolver(t) : t instanceof U ? this.tagDefinitionResolver(t.name) : t instanceof H && t.tagName !== null ? this.tagDefinitionResolver(t.tagName) : null;
2399
- }
2400
- _pushContainer(t, r) {
2401
- r && this._containerStack.pop(), this._addToParent(t), this._containerStack.push(t);
2402
- }
2403
- _consumeElementEndTag(t) {
2404
- var r;
2405
- let n = this.allowHtmComponentClosingTags && t.parts.length === 0 ? null : this._getElementFullName(t, this._getClosestElementLikeParent());
2406
- if (n && !((r = this._getTagDefinition(n)) === null || r === void 0) && r.isVoid)
2407
- this.errors.push(T.create(n, t.sourceSpan, `Void elements do not have end tags "${t.parts[1]}"`));
2408
- else if (!this._popContainer(n, U, t.sourceSpan)) {
2409
- let a = `Unexpected closing tag "${n}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;
2410
- this.errors.push(T.create(n, t.sourceSpan, a));
2411
- }
2412
- }
2413
- _popContainer(t, r, n) {
2414
- let a = !1;
2415
- for (let s = this._containerStack.length - 1; s >= 0; s--) {
2416
- var i;
2417
- let o = this._containerStack[s], l = o instanceof H ? o.fullName : o.name;
2418
- if (Re(l) ? l === t : (l === t || t === null) && o instanceof r)
2419
- return o.endSourceSpan = n, o.sourceSpan.end = n !== null ? n.end : o.sourceSpan.end, this._containerStack.splice(s, this._containerStack.length - s), !a;
2420
- (o instanceof Y || !(!((i = this._getTagDefinition(o)) === null || i === void 0) && i.closedByParent)) && (a = !0);
2421
- }
2422
- return !1;
2423
- }
2424
- _consumeAttr(t) {
2425
- let r = _e(t.parts[0], t.parts[1]), n = t.sourceSpan.end, a;
2426
- this._peek.type === u.ATTR_QUOTE && (a = this._advance());
2427
- let i = "", s = [], o, l;
2428
- if (this._peek.type === u.ATTR_VALUE_TEXT)
2429
- for (o = this._peek.sourceSpan, l = this._peek.sourceSpan.end; this._peek.type === u.ATTR_VALUE_TEXT || this._peek.type === u.ATTR_VALUE_INTERPOLATION || this._peek.type === u.ENCODED_ENTITY; ) {
2430
- let p = this._advance();
2431
- s.push(p), p.type === u.ATTR_VALUE_INTERPOLATION ? i += p.parts.join("").replace(/&([^;]+);/g, lr) : p.type === u.ENCODED_ENTITY ? i += p.parts[0] : i += p.parts.join(""), l = n = p.sourceSpan.end;
2432
- }
2433
- this._peek.type === u.ATTR_QUOTE && (l = n = this._advance().sourceSpan.end);
2434
- let c = o && l && new d((a == null ? void 0 : a.sourceSpan.start) ?? o.start, l, (a == null ? void 0 : a.sourceSpan.fullStart) ?? o.fullStart);
2435
- return new bs(r, i, new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), t.sourceSpan, c, s.length > 0 ? s : void 0, void 0);
2436
- }
2437
- _consumeDirective(t) {
2438
- let r = [], n = t.sourceSpan.end, a = null;
2439
- if (this._advance(), this._peek.type === u.DIRECTIVE_OPEN) {
2440
- for (n = this._peek.sourceSpan.end, this._advance(); this._peek.type === u.ATTR_NAME; )
2441
- r.push(this._consumeAttr(this._advance()));
2442
- this._peek.type === u.DIRECTIVE_CLOSE ? (a = this._peek.sourceSpan, this._advance()) : this.errors.push(T.create(null, t.sourceSpan, "Unterminated directive definition"));
2443
- }
2444
- let i = new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new d(i.start, a === null ? t.sourceSpan.end : a.end, i.fullStart);
2445
- return new ys(t.parts[0], r, s, i, a);
2446
- }
2447
- _consumeBlockOpen(t) {
2448
- let r = [];
2449
- for (; this._peek.type === u.BLOCK_PARAMETER; ) {
2450
- let o = this._advance();
2451
- r.push(new tr(o.parts[0], o.sourceSpan));
2452
- }
2453
- this._peek.type === u.BLOCK_OPEN_END && this._advance();
2454
- let n = this._peek.sourceSpan.fullStart, a = new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), i = new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new Y(t.parts[0], r, [], a, t.sourceSpan, i);
2455
- this._pushContainer(s, !1);
2456
- }
2457
- _consumeBlockClose(t) {
2458
- this._popContainer(null, Y, t.sourceSpan) || this.errors.push(T.create(null, t.sourceSpan, 'Unexpected closing block. The block may have been closed earlier. If you meant to write the } character, you should use the "&#125;" HTML entity instead.'));
2459
- }
2460
- _consumeIncompleteBlock(t) {
2461
- let r = [];
2462
- for (; this._peek.type === u.BLOCK_PARAMETER; ) {
2463
- let o = this._advance();
2464
- r.push(new tr(o.parts[0], o.sourceSpan));
2465
- }
2466
- let n = this._peek.sourceSpan.fullStart, a = new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), i = new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new Y(t.parts[0], r, [], a, t.sourceSpan, i);
2467
- this._pushContainer(s, !1), this._popContainer(null, Y, null), this.errors.push(T.create(t.parts[0], a, `Incomplete block "${t.parts[0]}". If you meant to write the @ character, you should use the "&#64;" HTML entity instead.`));
2468
- }
2469
- _consumeLet(t) {
2470
- let r = t.parts[0], n, a;
2471
- if (this._peek.type !== u.LET_VALUE) {
2472
- this.errors.push(T.create(t.parts[0], t.sourceSpan, `Invalid @let declaration "${r}". Declaration must have a value.`));
2473
- return;
2474
- } else
2475
- n = this._advance();
2476
- if (this._peek.type !== u.LET_END) {
2477
- this.errors.push(T.create(t.parts[0], t.sourceSpan, `Unterminated @let declaration "${r}". Declaration must be terminated with a semicolon.`));
2478
- return;
2479
- } else
2480
- a = this._advance();
2481
- let i = a.sourceSpan.fullStart, s = new d(t.sourceSpan.start, i, t.sourceSpan.fullStart), o = t.sourceSpan.toString().lastIndexOf(r), l = new d(t.sourceSpan.start.moveBy(o), t.sourceSpan.end), c = new rr(r, n.parts[0], s, l, n.sourceSpan);
2482
- this._addToParent(c);
2483
- }
2484
- _consumeIncompleteLet(t) {
2485
- let r = t.parts[0] ?? "", n = r ? ` "${r}"` : "";
2486
- if (r.length > 0) {
2487
- let a = t.sourceSpan.toString().lastIndexOf(r), i = new d(t.sourceSpan.start.moveBy(a), t.sourceSpan.end), s = new d(t.sourceSpan.start, t.sourceSpan.start.moveBy(0)), o = new rr(r, "", t.sourceSpan, i, s);
2488
- this._addToParent(o);
2489
- }
2490
- this.errors.push(T.create(t.parts[0], t.sourceSpan, `Incomplete @let declaration${n}. @let declarations must be written as \`@let <name> = <value>;\``));
2491
- }
2492
- _getContainer() {
2493
- return this._containerStack.length > 0 ? this._containerStack[this._containerStack.length - 1] : null;
2494
- }
2495
- _getClosestElementLikeParent() {
2496
- for (let t = this._containerStack.length - 1; t > -1; t--) {
2497
- let r = this._containerStack[t];
2498
- if (r instanceof U || r instanceof H)
2499
- return r;
2500
- }
2501
- return null;
2502
- }
2503
- _addToParent(t) {
2504
- let r = this._getContainer();
2505
- r === null ? this.rootNodes.push(t) : r.children.push(t);
2506
- }
2507
- _getElementFullName(t, r) {
2508
- return _e(this._getPrefix(t, r), t.parts[1]);
2509
- }
2510
- _getComponentFullName(t, r) {
2511
- let n = t.parts[0], a = this._getComponentTagName(t, r);
2512
- return a === null ? n : a.startsWith(":") ? n + a : `${n}:${a}`;
2513
- }
2514
- _getComponentTagName(t, r) {
2515
- let n = this._getPrefix(t, r), a = t.parts[2];
2516
- return !n && !a ? null : !n && a ? a : _e(n, a || "ng-component");
2517
- }
2518
- _getPrefix(t, r) {
2519
- var n;
2520
- let a, i;
2521
- if (t.type === u.COMPONENT_OPEN_START || t.type === u.INCOMPLETE_COMPONENT_OPEN || t.type === u.COMPONENT_CLOSE ? (a = t.parts[1], i = t.parts[2]) : (a = t.parts[0], i = t.parts[1]), a = a || ((n = this._getTagDefinition(i)) === null || n === void 0 ? void 0 : n.implicitNamespacePrefix) || "", !a && r) {
2522
- let s = r instanceof U ? r.name : r.tagName;
2523
- if (s !== null) {
2524
- let o = Ge(s)[1], l = this._getTagDefinition(o);
2525
- l !== null && !l.preventNamespaceInheritance && (a = Re(s));
2526
- }
2527
- }
2528
- return a;
2529
- }
2530
- };
2531
- function ur(e, t) {
2532
- return e.length > 0 && e[e.length - 1] === t;
2533
- }
2534
- function lr(e, t) {
2535
- return Se[t] !== void 0 ? Se[t] || e : /^#x[a-f0-9]+$/i.test(t) ? String.fromCodePoint(parseInt(t.slice(2), 16)) : /^#\d+$/.test(t) ? String.fromCodePoint(parseInt(t.slice(1), 10)) : e;
2536
- }
2537
- var Xs = class extends $s {
2538
- constructor() {
2539
- super(lt);
2540
- }
2541
- parse(e, t, r, n = !1, a) {
2542
- return super.parse(e, t, r, n, a);
2543
- }
2544
- }, it = null, Gs = () => (it || (it = new Xs()), it);
2545
- function mt(e, t = {}) {
2546
- let { canSelfClose: r = !1, allowHtmComponentClosingTags: n = !1, isTagNameCaseSensitive: a = !1, getTagContentType: i, tokenizeAngularBlocks: s = !1, tokenizeAngularLetDeclaration: o = !1, enableAngularSelectorlessSyntax: l = !1 } = t;
2547
- return Gs().parse(e, "angular-html-parser", { tokenizeExpansionForms: s, canSelfClose: r, allowHtmComponentClosingTags: n, tokenizeBlocks: s, tokenizeLet: o, selectorlessEnabled: l }, a, i);
2548
- }
2549
- var Ks = [Js, Qs, eo, ro, no, so, ao, io, oo, to];
2550
- function Ys(e, t) {
2551
- for (let r of Ks)
2552
- r(e, t);
2553
- return e;
2554
- }
2555
- function Js(e) {
2556
- e.walk((t) => {
2557
- if (t.kind === "element" && t.tagDefinition.ignoreFirstLf && t.children.length > 0 && t.children[0].kind === "text" && t.children[0].value[0] === `
2558
- `) {
2559
- let r = t.children[0];
2560
- r.value.length === 1 ? t.removeChild(r) : r.value = r.value.slice(1);
2561
- }
2562
- });
2563
- }
2564
- function Qs(e) {
2565
- let t = (r) => {
2566
- var n, a;
2567
- return r.kind === "element" && ((n = r.prev) == null ? void 0 : n.kind) === "ieConditionalStartComment" && r.prev.sourceSpan.end.offset === r.startSourceSpan.start.offset && ((a = r.firstChild) == null ? void 0 : a.kind) === "ieConditionalEndComment" && r.firstChild.sourceSpan.start.offset === r.startSourceSpan.end.offset;
2568
- };
2569
- e.walk((r) => {
2570
- if (r.children)
2571
- for (let n = 0; n < r.children.length; n++) {
2572
- let a = r.children[n];
2573
- if (!t(a))
2574
- continue;
2575
- let i = a.prev, s = a.firstChild;
2576
- r.removeChild(i), n--;
2577
- let o = new d(i.sourceSpan.start, s.sourceSpan.end), l = new d(o.start, a.sourceSpan.end);
2578
- a.condition = i.condition, a.sourceSpan = l, a.startSourceSpan = o, a.removeChild(s);
2579
- }
2580
- });
2581
- }
2582
- function Zs(e, t, r) {
2583
- e.walk((n) => {
2584
- if (n.children)
2585
- for (let a = 0; a < n.children.length; a++) {
2586
- let i = n.children[a];
2587
- if (i.kind !== "text" && !t(i))
2588
- continue;
2589
- i.kind !== "text" && (i.kind = "text", i.value = r(i));
2590
- let s = i.prev;
2591
- !s || s.kind !== "text" || (s.value += i.value, s.sourceSpan = new d(s.sourceSpan.start, i.sourceSpan.end), n.removeChild(i), a--);
2592
- }
2593
- });
2594
- }
2595
- function eo(e) {
2596
- return Zs(e, (t) => t.kind === "cdata", (t) => `<![CDATA[${t.value}]]>`);
2597
- }
2598
- function to(e) {
2599
- let t = (r) => {
2600
- var n, a;
2601
- return r.kind === "element" && r.attrs.length === 0 && r.children.length === 1 && r.firstChild.kind === "text" && !N.hasWhitespaceCharacter(r.children[0].value) && !r.firstChild.hasLeadingSpaces && !r.firstChild.hasTrailingSpaces && r.isLeadingSpaceSensitive && !r.hasLeadingSpaces && r.isTrailingSpaceSensitive && !r.hasTrailingSpaces && ((n = r.prev) == null ? void 0 : n.kind) === "text" && ((a = r.next) == null ? void 0 : a.kind) === "text";
2602
- };
2603
- e.walk((r) => {
2604
- if (r.children)
2605
- for (let n = 0; n < r.children.length; n++) {
2606
- let a = r.children[n];
2607
- if (!t(a))
2608
- continue;
2609
- let i = a.prev, s = a.next;
2610
- i.value += `<${a.rawName}>` + a.firstChild.value + `</${a.rawName}>` + s.value, i.sourceSpan = new d(i.sourceSpan.start, s.sourceSpan.end), i.isTrailingSpaceSensitive = s.isTrailingSpaceSensitive, i.hasTrailingSpaces = s.hasTrailingSpaces, r.removeChild(a), n--, r.removeChild(s);
2611
- }
2612
- });
2613
- }
2614
- function ro(e, t) {
2615
- if (t.parser === "html")
2616
- return;
2617
- let r = /\{\{(.+?)\}\}/su;
2618
- e.walk((n) => {
2619
- if (ka(n, t))
2620
- for (let a of n.children) {
2621
- if (a.kind !== "text")
2622
- continue;
2623
- let i = a.sourceSpan.start, s = null, o = a.value.split(r);
2624
- for (let l = 0; l < o.length; l++, i = s) {
2625
- let c = o[l];
2626
- if (l % 2 === 0) {
2627
- s = i.moveBy(c.length), c.length > 0 && n.insertChildBefore(a, { kind: "text", value: c, sourceSpan: new d(i, s) });
2628
- continue;
2629
- }
2630
- s = i.moveBy(c.length + 4), n.insertChildBefore(a, { kind: "interpolation", sourceSpan: new d(i, s), children: c.length === 0 ? [] : [{ kind: "text", value: c, sourceSpan: new d(i.moveBy(2), s.moveBy(-2)) }] });
2631
- }
2632
- n.removeChild(a);
2633
- }
2634
- });
2635
- }
2636
- function no(e, t) {
2637
- e.walk((r) => {
2638
- let n = r.$children;
2639
- if (!n)
2640
- return;
2641
- if (n.length === 0 || n.length === 1 && n[0].kind === "text" && N.trim(n[0].value).length === 0) {
2642
- r.hasDanglingSpaces = n.length > 0, r.$children = [];
2643
- return;
2644
- }
2645
- let a = wa(r, t), i = Mr(r);
2646
- if (!a)
2647
- for (let s = 0; s < n.length; s++) {
2648
- let o = n[s];
2649
- if (o.kind !== "text")
2650
- continue;
2651
- let { leadingWhitespace: l, text: c, trailingWhitespace: p } = Ta(o.value), g = o.prev, f = o.next;
2652
- c ? (o.value = c, o.sourceSpan = new d(o.sourceSpan.start.moveBy(l.length), o.sourceSpan.end.moveBy(-p.length)), l && (g && (g.hasTrailingSpaces = !0), o.hasLeadingSpaces = !0), p && (o.hasTrailingSpaces = !0, f && (f.hasLeadingSpaces = !0))) : (r.removeChild(o), s--, (l || p) && (g && (g.hasTrailingSpaces = !0), f && (f.hasLeadingSpaces = !0)));
2653
- }
2654
- r.isWhitespaceSensitive = a, r.isIndentationSensitive = i;
2655
- });
2656
- }
2657
- function ao(e) {
2658
- e.walk((t) => {
2659
- t.isSelfClosing = !t.children || t.kind === "element" && (t.tagDefinition.isVoid || t.endSourceSpan && t.startSourceSpan.start === t.endSourceSpan.start && t.startSourceSpan.end === t.endSourceSpan.end);
2660
- });
2661
- }
2662
- function io(e, t) {
2663
- e.walk((r) => {
2664
- r.kind === "element" && (r.hasHtmComponentClosingTag = r.endSourceSpan && /^<\s*\/\s*\/\s*>$/u.test(t.originalText.slice(r.endSourceSpan.start.offset, r.endSourceSpan.end.offset)));
2665
- });
2666
- }
2667
- function so(e, t) {
2668
- e.walk((r) => {
2669
- r.cssDisplay = Ua(r, t);
2670
- });
2671
- }
2672
- function oo(e, t) {
2673
- e.walk((r) => {
2674
- let { children: n } = r;
2675
- if (n) {
2676
- if (n.length === 0) {
2677
- r.isDanglingSpaceSensitive = xa(r, t);
2678
- return;
2679
- }
2680
- for (let a of n)
2681
- a.isLeadingSpaceSensitive = ya(a, t), a.isTrailingSpaceSensitive = Da(a, t);
2682
- for (let a = 0; a < n.length; a++) {
2683
- let i = n[a];
2684
- i.isLeadingSpaceSensitive = (a === 0 || i.prev.isTrailingSpaceSensitive) && i.isLeadingSpaceSensitive, i.isTrailingSpaceSensitive = (a === n.length - 1 || i.next.isLeadingSpaceSensitive) && i.isTrailingSpaceSensitive;
2685
- }
2686
- }
2687
- });
2688
- }
2689
- var uo = Ys;
2690
- function lo(e, t, r) {
2691
- let { node: n } = e;
2692
- switch (n.kind) {
2693
- case "root":
2694
- return t.__onHtmlRoot && t.__onHtmlRoot(n), [A(Ot(e, t, r)), E];
2695
- case "element":
2696
- case "ieConditionalComment":
2697
- return os(e, t, r);
2698
- case "angularControlFlowBlock":
2699
- return rs(e, t, r);
2700
- case "angularControlFlowBlockParameters":
2701
- return as(e, t, r);
2702
- case "angularControlFlowBlockParameter":
2703
- return N.trim(n.expression);
2704
- case "angularLetDeclaration":
2705
- return A(["@let ", A([n.id, " =", A(F([S, r("init")]))]), ";"]);
2706
- case "angularLetDeclarationInitializer":
2707
- return n.value;
2708
- case "angularIcuExpression":
2709
- return is(e, t, r);
2710
- case "angularIcuCase":
2711
- return ss(e, t, r);
2712
- case "ieConditionalStartComment":
2713
- case "ieConditionalEndComment":
2714
- return [ge(n), me(n)];
2715
- case "interpolation":
2716
- return [ge(n, t), ...e.map(r, "children"), me(n, t)];
2717
- case "text": {
2718
- if (n.parent.kind === "interpolation") {
2719
- let o = /\n[^\S\n]*$/u, l = o.test(n.value), c = l ? n.value.replace(o, "") : n.value;
2720
- return [O(c), l ? E : ""];
2721
- }
2722
- let a = X(n, t), i = Xr(n), s = $(n, t);
2723
- return i[0] = [a, i[0]], i.push([i.pop(), s]), xr(i);
2724
- }
2725
- case "docType":
2726
- return [A([ge(n, t), " ", k(0, n.value.replace(/^html\b/iu, "html"), /\s+/gu, " ")]), me(n, t)];
2727
- case "comment":
2728
- return [X(n, t), O(t.originalText.slice(we(n), $e(n))), $(n, t)];
2729
- case "attribute": {
2730
- if (n.value === null)
2731
- return n.rawName;
2732
- let a = jr(n.value), i = Kr(n, t) ? "" : Wn(a, '"');
2733
- return [n.rawName, "=", i, O(i === '"' ? k(0, a, '"', "&quot;") : k(0, a, "'", "&apos;")), i];
2734
- }
2735
- case "frontMatter":
2736
- case "cdata":
2737
- default:
2738
- throw new Yn(n, "HTML");
2739
- }
2740
- }
2741
- var co = { features: { experimental_frontMatterSupport: { massageAstNode: !0, embed: !0, print: !0 } }, preprocess: uo, print: lo, insertPragma: es, massageAstNode: Zn, embed: Vi, getVisitorKeys: Gi }, po = co, ho = [{ name: "Angular", type: "markup", aceMode: "html", extensions: [".component.html"], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["angular"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "HTML", type: "markup", aceMode: "html", extensions: [".html", ".hta", ".htm", ".html.hl", ".inc", ".xht", ".xhtml"], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["html"], vscodeLanguageIds: ["html"], linguistLanguageId: 146 }, { name: "Lightning Web Components", type: "markup", aceMode: "html", extensions: [], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["lwc"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "MJML", type: "markup", aceMode: "html", extensions: [".mjml"], tmScope: "text.mjml.basic", aliases: ["MJML", "mjml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["mjml"], filenames: [], vscodeLanguageIds: ["mjml"], linguistLanguageId: 146 }, { name: "Vue", type: "markup", aceMode: "vue", extensions: [".vue"], tmScope: "source.vue", codemirrorMode: "vue", codemirrorMimeType: "text/x-vue", parsers: ["vue"], vscodeLanguageIds: ["vue"], linguistLanguageId: 391 }], cr = { bracketSpacing: { category: "Common", type: "boolean", default: !0, description: "Print spaces between brackets.", oppositeDescription: "Do not print spaces between brackets." }, objectWrap: { category: "Common", type: "choice", default: "preserve", description: "How to wrap object literals.", choices: [{ value: "preserve", description: "Keep as multi-line, if there is a newline between the opening brace and first property." }, { value: "collapse", description: "Fit to a single line when possible." }] }, singleQuote: { category: "Common", type: "boolean", default: !1, description: "Use single quotes instead of double quotes." }, proseWrap: { category: "Common", type: "choice", default: "preserve", description: "How to wrap prose.", choices: [{ value: "always", description: "Wrap prose if it exceeds the print width." }, { value: "never", description: "Do not wrap prose." }, { value: "preserve", description: "Wrap prose as-is." }] }, bracketSameLine: { category: "Common", type: "boolean", default: !1, description: "Put > of opening tags on the last line instead of on a new line." }, singleAttributePerLine: { category: "Common", type: "boolean", default: !1, description: "Enforce single attribute per line in HTML, Vue and JSX." } }, pr = "HTML", mo = { bracketSameLine: cr.bracketSameLine, htmlWhitespaceSensitivity: { category: pr, type: "choice", default: "css", description: "How to handle whitespaces in HTML.", choices: [{ value: "css", description: "Respect the default value of CSS display property." }, { value: "strict", description: "Whitespaces are considered sensitive." }, { value: "ignore", description: "Whitespaces are considered insensitive." }] }, singleAttributePerLine: cr.singleAttributePerLine, vueIndentScriptAndStyle: { category: pr, type: "boolean", default: !1, description: "Indent script and style tags in Vue files." } }, go = mo, pn = {};
2742
- Cr(pn, { angular: () => Wo, html: () => Ho, lwc: () => $o, mjml: () => Uo, vue: () => zo });
2743
- function fo(e, t) {
2744
- let r = new SyntaxError(e + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2745
- return Object.assign(r, t);
2746
- }
2747
- var _o = fo, Co = { canSelfClose: !0, normalizeTagName: !1, normalizeAttributeName: !1, allowHtmComponentClosingTags: !1, isTagNameCaseSensitive: !1, shouldParseFrontMatter: !0 };
2748
- function hn(e) {
2749
- return { ...Co, ...e };
2750
- }
2751
- function dn(e) {
2752
- let { canSelfClose: t, allowHtmComponentClosingTags: r, isTagNameCaseSensitive: n, shouldParseAsRawText: a, tokenizeAngularBlocks: i, tokenizeAngularLetDeclaration: s } = e;
2753
- return { canSelfClose: t, allowHtmComponentClosingTags: r, isTagNameCaseSensitive: n, getTagContentType: a ? (...o) => a(...o) ? R.RAW_TEXT : void 0 : void 0, tokenizeAngularBlocks: i, tokenizeAngularLetDeclaration: s };
2754
- }
2755
- var st = /* @__PURE__ */ new Map([["*", /* @__PURE__ */ new Set(["accesskey", "autocapitalize", "autocorrect", "autofocus", "class", "contenteditable", "dir", "draggable", "enterkeyhint", "exportparts", "hidden", "id", "inert", "inputmode", "is", "itemid", "itemprop", "itemref", "itemscope", "itemtype", "lang", "nonce", "part", "popover", "slot", "spellcheck", "style", "tabindex", "title", "translate", "writingsuggestions"])], ["a", /* @__PURE__ */ new Set(["charset", "coords", "download", "href", "hreflang", "name", "ping", "referrerpolicy", "rel", "rev", "shape", "target", "type"])], ["applet", /* @__PURE__ */ new Set(["align", "alt", "archive", "code", "codebase", "height", "hspace", "name", "object", "vspace", "width"])], ["area", /* @__PURE__ */ new Set(["alt", "coords", "download", "href", "hreflang", "nohref", "ping", "referrerpolicy", "rel", "shape", "target", "type"])], ["audio", /* @__PURE__ */ new Set(["autoplay", "controls", "crossorigin", "loop", "muted", "preload", "src"])], ["base", /* @__PURE__ */ new Set(["href", "target"])], ["basefont", /* @__PURE__ */ new Set(["color", "face", "size"])], ["blockquote", /* @__PURE__ */ new Set(["cite"])], ["body", /* @__PURE__ */ new Set(["alink", "background", "bgcolor", "link", "text", "vlink"])], ["br", /* @__PURE__ */ new Set(["clear"])], ["button", /* @__PURE__ */ new Set(["command", "commandfor", "disabled", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "name", "popovertarget", "popovertargetaction", "type", "value"])], ["canvas", /* @__PURE__ */ new Set(["height", "width"])], ["caption", /* @__PURE__ */ new Set(["align"])], ["col", /* @__PURE__ */ new Set(["align", "char", "charoff", "span", "valign", "width"])], ["colgroup", /* @__PURE__ */ new Set(["align", "char", "charoff", "span", "valign", "width"])], ["data", /* @__PURE__ */ new Set(["value"])], ["del", /* @__PURE__ */ new Set(["cite", "datetime"])], ["details", /* @__PURE__ */ new Set(["name", "open"])], ["dialog", /* @__PURE__ */ new Set(["closedby", "open"])], ["dir", /* @__PURE__ */ new Set(["compact"])], ["div", /* @__PURE__ */ new Set(["align"])], ["dl", /* @__PURE__ */ new Set(["compact"])], ["embed", /* @__PURE__ */ new Set(["height", "src", "type", "width"])], ["fieldset", /* @__PURE__ */ new Set(["disabled", "form", "name"])], ["font", /* @__PURE__ */ new Set(["color", "face", "size"])], ["form", /* @__PURE__ */ new Set(["accept", "accept-charset", "action", "autocomplete", "enctype", "method", "name", "novalidate", "target"])], ["frame", /* @__PURE__ */ new Set(["frameborder", "longdesc", "marginheight", "marginwidth", "name", "noresize", "scrolling", "src"])], ["frameset", /* @__PURE__ */ new Set(["cols", "rows"])], ["h1", /* @__PURE__ */ new Set(["align"])], ["h2", /* @__PURE__ */ new Set(["align"])], ["h3", /* @__PURE__ */ new Set(["align"])], ["h4", /* @__PURE__ */ new Set(["align"])], ["h5", /* @__PURE__ */ new Set(["align"])], ["h6", /* @__PURE__ */ new Set(["align"])], ["head", /* @__PURE__ */ new Set(["profile"])], ["hr", /* @__PURE__ */ new Set(["align", "noshade", "size", "width"])], ["html", /* @__PURE__ */ new Set(["manifest", "version"])], ["iframe", /* @__PURE__ */ new Set(["align", "allow", "allowfullscreen", "allowpaymentrequest", "allowusermedia", "frameborder", "height", "loading", "longdesc", "marginheight", "marginwidth", "name", "referrerpolicy", "sandbox", "scrolling", "src", "srcdoc", "width"])], ["img", /* @__PURE__ */ new Set(["align", "alt", "border", "crossorigin", "decoding", "fetchpriority", "height", "hspace", "ismap", "loading", "longdesc", "name", "referrerpolicy", "sizes", "src", "srcset", "usemap", "vspace", "width"])], ["input", /* @__PURE__ */ new Set(["accept", "align", "alpha", "alt", "autocomplete", "checked", "colorspace", "dirname", "disabled", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "height", "ismap", "list", "max", "maxlength", "min", "minlength", "multiple", "name", "pattern", "placeholder", "popovertarget", "popovertargetaction", "readonly", "required", "size", "src", "step", "type", "usemap", "value", "width"])], ["ins", /* @__PURE__ */ new Set(["cite", "datetime"])], ["isindex", /* @__PURE__ */ new Set(["prompt"])], ["label", /* @__PURE__ */ new Set(["for", "form"])], ["legend", /* @__PURE__ */ new Set(["align"])], ["li", /* @__PURE__ */ new Set(["type", "value"])], ["link", /* @__PURE__ */ new Set(["as", "blocking", "charset", "color", "crossorigin", "disabled", "fetchpriority", "href", "hreflang", "imagesizes", "imagesrcset", "integrity", "media", "referrerpolicy", "rel", "rev", "sizes", "target", "type"])], ["map", /* @__PURE__ */ new Set(["name"])], ["menu", /* @__PURE__ */ new Set(["compact"])], ["meta", /* @__PURE__ */ new Set(["charset", "content", "http-equiv", "media", "name", "scheme"])], ["meter", /* @__PURE__ */ new Set(["high", "low", "max", "min", "optimum", "value"])], ["object", /* @__PURE__ */ new Set(["align", "archive", "border", "classid", "codebase", "codetype", "data", "declare", "form", "height", "hspace", "name", "standby", "type", "typemustmatch", "usemap", "vspace", "width"])], ["ol", /* @__PURE__ */ new Set(["compact", "reversed", "start", "type"])], ["optgroup", /* @__PURE__ */ new Set(["disabled", "label"])], ["option", /* @__PURE__ */ new Set(["disabled", "label", "selected", "value"])], ["output", /* @__PURE__ */ new Set(["for", "form", "name"])], ["p", /* @__PURE__ */ new Set(["align"])], ["param", /* @__PURE__ */ new Set(["name", "type", "value", "valuetype"])], ["pre", /* @__PURE__ */ new Set(["width"])], ["progress", /* @__PURE__ */ new Set(["max", "value"])], ["q", /* @__PURE__ */ new Set(["cite"])], ["script", /* @__PURE__ */ new Set(["async", "blocking", "charset", "crossorigin", "defer", "fetchpriority", "integrity", "language", "nomodule", "referrerpolicy", "src", "type"])], ["select", /* @__PURE__ */ new Set(["autocomplete", "disabled", "form", "multiple", "name", "required", "size"])], ["slot", /* @__PURE__ */ new Set(["name"])], ["source", /* @__PURE__ */ new Set(["height", "media", "sizes", "src", "srcset", "type", "width"])], ["style", /* @__PURE__ */ new Set(["blocking", "media", "type"])], ["table", /* @__PURE__ */ new Set(["align", "bgcolor", "border", "cellpadding", "cellspacing", "frame", "rules", "summary", "width"])], ["tbody", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["td", /* @__PURE__ */ new Set(["abbr", "align", "axis", "bgcolor", "char", "charoff", "colspan", "headers", "height", "nowrap", "rowspan", "scope", "valign", "width"])], ["template", /* @__PURE__ */ new Set(["shadowrootclonable", "shadowrootcustomelementregistry", "shadowrootdelegatesfocus", "shadowrootmode", "shadowrootserializable"])], ["textarea", /* @__PURE__ */ new Set(["autocomplete", "cols", "dirname", "disabled", "form", "maxlength", "minlength", "name", "placeholder", "readonly", "required", "rows", "wrap"])], ["tfoot", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["th", /* @__PURE__ */ new Set(["abbr", "align", "axis", "bgcolor", "char", "charoff", "colspan", "headers", "height", "nowrap", "rowspan", "scope", "valign", "width"])], ["thead", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["time", /* @__PURE__ */ new Set(["datetime"])], ["tr", /* @__PURE__ */ new Set(["align", "bgcolor", "char", "charoff", "valign"])], ["track", /* @__PURE__ */ new Set(["default", "kind", "label", "src", "srclang"])], ["ul", /* @__PURE__ */ new Set(["compact", "type"])], ["video", /* @__PURE__ */ new Set(["autoplay", "controls", "crossorigin", "height", "loop", "muted", "playsinline", "poster", "preload", "src", "width"])]]), vo = /* @__PURE__ */ new Set(["a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "command", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fencedframe", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "isindex", "kbd", "keygen", "label", "legend", "li", "link", "listing", "main", "map", "mark", "marquee", "math", "menu", "menuitem", "meta", "meter", "multicol", "nav", "nextid", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "pre", "progress", "q", "rb", "rbc", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "search", "section", "select", "selectedcontent", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "svg", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp"]), Ie = { attrs: !0, children: !0, cases: !0, expression: !0 }, hr = /* @__PURE__ */ new Set(["parent"]), Q, gt, ft, Eo = class de {
2756
- constructor(t = {}) {
2757
- En(this, Q), Mt(this, "kind"), Mt(this, "parent");
2758
- for (let r of /* @__PURE__ */ new Set([...hr, ...Object.keys(t)]))
2759
- this.setProperty(r, t[r]);
2760
- if (Ue(t))
2761
- for (let r of Object.getOwnPropertySymbols(t))
2762
- this.setProperty(r, t[r]);
2763
- }
2764
- setProperty(t, r) {
2765
- if (this[t] !== r) {
2766
- if (t in Ie && (r = r.map((n) => this.createChild(n))), !hr.has(t)) {
2767
- this[t] = r;
2768
- return;
2769
- }
2770
- Object.defineProperty(this, t, { value: r, enumerable: !1, configurable: !0 });
2771
- }
2772
- }
2773
- map(t) {
2774
- let r;
2775
- for (let n in Ie) {
2776
- let a = this[n];
2777
- if (a) {
2778
- let i = Ao(a, (s) => s.map(t));
2779
- r !== a && (r || (r = new de({ parent: this.parent })), r.setProperty(n, i));
2780
- }
2781
- }
2782
- if (r)
2783
- for (let n in this)
2784
- n in Ie || (r[n] = this[n]);
2785
- return t(r || this);
2786
- }
2787
- walk(t) {
2788
- for (let r in Ie) {
2789
- let n = this[r];
2790
- if (n)
2791
- for (let a = 0; a < n.length; a++)
2792
- n[a].walk(t);
2793
- }
2794
- t(this);
2795
- }
2796
- createChild(t) {
2797
- let r = t instanceof de ? t.clone() : new de(t);
2798
- return r.setProperty("parent", this), r;
2799
- }
2800
- insertChildBefore(t, r) {
2801
- let n = this.$children;
2802
- n.splice(n.indexOf(t), 0, this.createChild(r));
2803
- }
2804
- removeChild(t) {
2805
- let r = this.$children;
2806
- r.splice(r.indexOf(t), 1);
2807
- }
2808
- replaceChild(t, r) {
2809
- let n = this.$children;
2810
- n[n.indexOf(t)] = this.createChild(r);
2811
- }
2812
- clone() {
2813
- return new de(this);
2814
- }
2815
- get $children() {
2816
- return this[Be(this, Q, gt)];
2817
- }
2818
- set $children(t) {
2819
- this[Be(this, Q, gt)] = t;
2820
- }
2821
- get firstChild() {
2822
- var t;
2823
- return (t = this.$children) == null ? void 0 : t[0];
2824
- }
2825
- get lastChild() {
2826
- return ee(1, this.$children, -1);
2827
- }
2828
- get prev() {
2829
- let t = Be(this, Q, ft);
2830
- return t[t.indexOf(this) - 1];
2831
- }
2832
- get next() {
2833
- let t = Be(this, Q, ft);
2834
- return t[t.indexOf(this) + 1];
2835
- }
2836
- get rawName() {
2837
- return this.hasExplicitNamespace ? this.fullName : this.name;
2838
- }
2839
- get fullName() {
2840
- return this.namespace ? this.namespace + ":" + this.name : this.name;
2841
- }
2842
- get attrMap() {
2843
- return Object.fromEntries(this.attrs.map((t) => [t.fullName, t.value]));
2844
- }
2845
- };
2846
- Q = /* @__PURE__ */ new WeakSet(), gt = function() {
2847
- return this.kind === "angularIcuCase" ? "expression" : this.kind === "angularIcuExpression" ? "cases" : "children";
2848
- }, ft = function() {
2849
- var e;
2850
- return ((e = this.parent) == null ? void 0 : e.$children) ?? [];
2851
- };
2852
- var So = Eo;
2853
- function Ao(e, t) {
2854
- let r = e.map(t);
2855
- return r.some((n, a) => n !== e[a]) ? r : e;
2856
- }
2857
- var To = [{ regex: /^(?<openingTagSuffix>\[if(?<condition>[^\]]*)\]>)(?<data>.*?)<!\s*\[endif\]$/su, parse: ko }, { regex: /^\[if(?<condition>[^\]]*)\]><!$/u, parse: wo }, { regex: /^<!\s*\[endif\]$/u, parse: yo }];
2858
- function bo(e, t) {
2859
- if (e.value)
2860
- for (let { regex: r, parse: n } of To) {
2861
- let a = e.value.match(r);
2862
- if (a)
2863
- return n(e, a, t);
2864
- }
2865
- return null;
2866
- }
2867
- function ko(e, t, r) {
2868
- let { openingTagSuffix: n, condition: a, data: i } = t.groups, s = 4 + n.length, o = e.sourceSpan.start.moveBy(s), l = o.moveBy(i.length), [c, p] = (() => {
2869
- try {
2870
- return [!0, r(i, o).children];
2871
- } catch {
2872
- return [!1, [{ kind: "text", value: i, sourceSpan: new d(o, l) }]];
2873
- }
2874
- })();
2875
- return { kind: "ieConditionalComment", complete: c, children: p, condition: k(0, a.trim(), /\s+/gu, " "), sourceSpan: e.sourceSpan, startSourceSpan: new d(e.sourceSpan.start, o), endSourceSpan: new d(l, e.sourceSpan.end) };
2876
- }
2877
- function wo(e, t) {
2878
- let { condition: r } = t.groups;
2879
- return { kind: "ieConditionalStartComment", condition: k(0, r.trim(), /\s+/gu, " "), sourceSpan: e.sourceSpan };
2880
- }
2881
- function yo(e) {
2882
- return { kind: "ieConditionalEndComment", sourceSpan: e.sourceSpan };
2883
- }
2884
- var Do = class extends Ds {
2885
- visitExpansionCase(e, t) {
2886
- t.parseOptions.name === "angular" && this.visitChildren(t, (r) => {
2887
- r(e.expression);
2888
- });
2889
- }
2890
- visit(e, { parseOptions: t }) {
2891
- Oo(e), Fo(e, t), Io(e, t), Po(e);
2892
- }
2893
- };
2894
- function xo(e, t, r, n) {
2895
- on(new Do(), e.children, { parseOptions: r }), t && e.children.unshift(t);
2896
- let a = new So(e);
2897
- return a.walk((i) => {
2898
- if (i.kind === "comment") {
2899
- let s = bo(i, n);
2900
- s && i.parent.replaceChild(i, s);
2901
- }
2902
- No(i), Bo(i), Lo(i);
2903
- }), a;
2904
- }
2905
- function No(e) {
2906
- if (e.kind === "block") {
2907
- if (e.name = k(0, e.name.toLowerCase(), /\s+/gu, " ").trim(), e.kind = "angularControlFlowBlock", !wt(e.parameters)) {
2908
- delete e.parameters;
2909
- return;
2910
- }
2911
- for (let t of e.parameters)
2912
- t.kind = "angularControlFlowBlockParameter";
2913
- e.parameters = { kind: "angularControlFlowBlockParameters", children: e.parameters, sourceSpan: new d(e.parameters[0].sourceSpan.start, ee(0, e.parameters, -1).sourceSpan.end) };
2914
- }
2915
- }
2916
- function Bo(e) {
2917
- e.kind === "letDeclaration" && (e.kind = "angularLetDeclaration", e.id = e.name, e.init = { kind: "angularLetDeclarationInitializer", sourceSpan: new d(e.valueSpan.start, e.valueSpan.end), value: e.value }, delete e.name, delete e.value);
2918
- }
2919
- function Lo(e) {
2920
- e.kind === "expansion" && (e.kind = "angularIcuExpression"), e.kind === "expansionCase" && (e.kind = "angularIcuCase");
2921
- }
2922
- function dr(e, t) {
2923
- let r = e.toLowerCase();
2924
- return t(r) ? r : e;
2925
- }
2926
- function mr(e) {
2927
- let t = e.name.startsWith(":") ? e.name.slice(1).split(":")[0] : null, r = e.nameSpan.toString(), n = t !== null && r.startsWith(`${t}:`), a = n ? r.slice(t.length + 1) : r;
2928
- e.name = a, e.namespace = t, e.hasExplicitNamespace = n;
2929
- }
2930
- function Oo(e) {
2931
- switch (e.kind) {
2932
- case "element":
2933
- mr(e);
2934
- for (let t of e.attrs)
2935
- mr(t), t.valueSpan ? (t.value = t.valueSpan.toString(), /["']/u.test(t.value[0]) && (t.value = t.value.slice(1, -1))) : t.value = null;
2936
- break;
2937
- case "comment":
2938
- e.value = e.sourceSpan.toString().slice(4, -3);
2939
- break;
2940
- case "text":
2941
- e.value = e.sourceSpan.toString();
2942
- break;
2943
- }
2944
- }
2945
- function Fo(e, t) {
2946
- if (e.kind === "element") {
2947
- let r = lt(t.isTagNameCaseSensitive ? e.name : e.name.toLowerCase());
2948
- !e.namespace || e.namespace === r.implicitNamespacePrefix || be(e) ? e.tagDefinition = r : e.tagDefinition = lt("");
2949
- }
2950
- }
2951
- function Po(e) {
2952
- e.sourceSpan && e.endSourceSpan && (e.sourceSpan = new d(e.sourceSpan.start, e.endSourceSpan.end));
2953
- }
2954
- function Io(e, t) {
2955
- if (e.kind === "element" && (t.normalizeTagName && (!e.namespace || e.namespace === e.tagDefinition.implicitNamespacePrefix || be(e)) && (e.name = dr(e.name, (r) => vo.has(r))), t.normalizeAttributeName))
2956
- for (let r of e.attrs)
2957
- r.namespace || (r.name = dr(r.name, (n) => st.has(e.name) && (st.get("*").has(n) || st.get(e.name).has(n))));
2958
- }
2959
- function mn(e, t) {
2960
- let { rootNodes: r, errors: n } = mt(e, dn(t));
2961
- return n.length > 0 && _t(n[0]), { parseOptions: t, rootNodes: r };
2962
- }
2963
- function Ro(e, t) {
2964
- let r = dn(t), { rootNodes: n, errors: a } = mt(e, r);
2965
- if (n.some((l) => l.kind === "docType" && l.value === "html" || l.kind === "element" && l.name.toLowerCase() === "html"))
2966
- return mn(e, Pt);
2967
- let i, s = () => i ?? (i = mt(e, { ...r, getTagContentType: void 0 })), o = (l) => {
2968
- let { offset: c } = l.startSourceSpan.start;
2969
- return s().rootNodes.find((p) => p.kind === "element" && p.startSourceSpan.start.offset === c) ?? l;
2970
- };
2971
- for (let [l, c] of n.entries())
2972
- if (c.kind === "element") {
2973
- if (c.isVoid)
2974
- a = s().errors, n[l] = o(c);
2975
- else if (Mo(c)) {
2976
- let { endSourceSpan: p, startSourceSpan: g } = c, f = s().errors.find((h) => h.span.start.offset > g.start.offset && h.span.start.offset < p.end.offset);
2977
- f && _t(f), n[l] = o(c);
2978
- }
2979
- }
2980
- return a.length > 0 && _t(a[0]), { parseOptions: t, rootNodes: n };
2981
- }
2982
- function Mo(e) {
2983
- var r;
2984
- if (e.kind !== "element" || e.name !== "template")
2985
- return !1;
2986
- let t = (r = e.attrs.find((n) => n.name === "lang")) == null ? void 0 : r.value;
2987
- return !t || t === "html";
2988
- }
2989
- function _t(e) {
2990
- let { msg: t, span: { start: r, end: n } } = e;
2991
- throw _o(t, { loc: { start: { line: r.line + 1, column: r.col + 1 }, end: { line: n.line + 1, column: n.col + 1 } }, cause: e });
2992
- }
2993
- function qo(e, t, r, n, a, i) {
2994
- let { offset: s } = n, o = k(0, t.slice(0, s), /[^\n]/gu, " ") + r, l = gn(o, e, { ...a, shouldParseFrontMatter: !1 }, i);
2995
- l.sourceSpan = new d(n, ee(0, l.children, -1).sourceSpan.end);
2996
- let c = l.children[0];
2997
- return c.length === s ? l.children.shift() : (c.sourceSpan = new d(c.sourceSpan.start.moveBy(s), c.sourceSpan.end), c.value = c.value.slice(s)), l;
2998
- }
2999
- function gn(e, t, r, n = {}) {
3000
- let { frontMatter: a, content: i } = r.shouldParseFrontMatter ? Ca(e) : { content: e }, s = new sn(e, n.filepath), o = new ct(s, 0, 0, 0), l = o.moveBy(e.length), { parseOptions: c, rootNodes: p } = t(i, r), g = { kind: "root", sourceSpan: new d(o, l), children: p }, f;
3001
- if (a) {
3002
- let [h, _] = [a.start, a.end].map((C) => new ct(s, C.index, C.line - 1, C.column));
3003
- f = { ...a, kind: "frontMatter", sourceSpan: new d(h, _) };
3004
- }
3005
- return xo(g, f, c, (h, _) => qo(t, e, h, _, c, n));
3006
- }
3007
- var Pt = hn({ name: "html", normalizeTagName: !0, normalizeAttributeName: !0, allowHtmComponentClosingTags: !0 });
3008
- function xe(e) {
3009
- let t = hn(e), r = t.name === "vue" ? Ro : mn;
3010
- return { parse: (n, a) => gn(n, r, t, a), hasPragma: Qi, hasIgnorePragma: Zi, astFormat: "html", locStart: we, locEnd: $e };
3011
- }
3012
- var Ho = xe(Pt), Vo = /* @__PURE__ */ new Set(["mj-style", "mj-raw"]), Uo = xe({ ...Pt, name: "mjml", shouldParseAsRawText: (e) => Vo.has(e) }), Wo = xe({ name: "angular", tokenizeAngularBlocks: !0, tokenizeAngularLetDeclaration: !0 }), zo = xe({ name: "vue", isTagNameCaseSensitive: !0, shouldParseAsRawText(e, t, r, n) {
3013
- return e.toLowerCase() !== "html" && !r && (e !== "template" || n.some(({ name: a, value: i }) => a === "lang" && i !== "html" && i !== "" && i !== void 0));
3014
- } }), $o = xe({ name: "lwc", canSelfClose: !1 }), jo = { html: po };
3015
- export {
3016
- Sn as default,
3017
- ho as languages,
3018
- go as options,
3019
- pn as parsers,
3020
- jo as printers
3021
- };