eddyter 1.3.60 → 1.3.61

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 (42) hide show
  1. package/dist/api/ai/index.d.ts +12 -12
  2. package/dist/assets/index.css +1 -0
  3. package/dist/babel-19rkKi7e.js +7157 -0
  4. package/dist/components/FileUpload/InsertFileDialog.d.ts +0 -1
  5. package/dist/components/LinkPreviewHover/index.d.ts +0 -1
  6. package/dist/components/ScopedEditor.d.ts +0 -1
  7. package/dist/components/ui/dropdown-menu.d.ts +3 -3
  8. package/dist/components/ui/skeleton.d.ts +0 -1
  9. package/dist/context/ToolbarContext.d.ts +6 -2
  10. package/dist/estree-DmlwiAu4.js +4453 -0
  11. package/dist/hooks/useModal.d.ts +0 -1
  12. package/dist/html-DtcgJGeD.js +2760 -0
  13. package/dist/html2pdf.bundle-BP8K5ERw.js +32961 -0
  14. package/dist/html2pdf.bundle.min-BrDn1HSi.js +20244 -0
  15. package/dist/{index-e3302f38.js → index-CFq39nnT.js} +14402 -15220
  16. package/dist/{index-98d915c4.js → index-CnBHpreC.js} +347 -378
  17. package/dist/{index-8889e1ba.js → index-DnHnFalw.js} +8 -39
  18. package/dist/index.js +13 -47
  19. package/dist/markdown-C2JcxpgA.js +3163 -0
  20. package/dist/plugins/AutocompletePlugin.d.ts +0 -1
  21. package/dist/plugins/CustomHorizontalRulePlugin/CustomHorizontalRulePlugin.d.ts +0 -1
  22. package/dist/plugins/HtmlSyncPlugin.d.ts +0 -1
  23. package/dist/plugins/LinkPreviewPlugin/index.d.ts +0 -1
  24. package/dist/plugins/PasteOptionsPlugin/index.d.ts +0 -1
  25. package/dist/plugins/SignatureCanvasPlugin/SignatureCanvasPlugin.d.ts +0 -1
  26. package/dist/plugins/SlashCommandPlugin/index.d.ts +0 -1
  27. package/dist/plugins/UsageTrackingPlugin.d.ts +0 -1
  28. package/dist/plugins/VoiceTranscriptPlugin.d.ts +1 -1
  29. package/dist/postcss-Banlrd6S.js +4703 -0
  30. package/dist/standalone-JqHlnZSs.js +2429 -0
  31. package/dist/typescript-D_phonMq.js +12929 -0
  32. package/package.json +6 -6
  33. package/dist/assets/style.css +0 -1
  34. package/dist/babel-44680aef.js +0 -7744
  35. package/dist/estree-a7dc9ac5.js +0 -4647
  36. package/dist/html-f2fcab26.js +0 -2882
  37. package/dist/html2pdf.bundle-519d30c0.js +0 -34001
  38. package/dist/html2pdf.bundle.min-8451fd59.js +0 -21964
  39. package/dist/markdown-48d2f5f1.js +0 -3592
  40. package/dist/postcss-9ac167c3.js +0 -5172
  41. package/dist/standalone-2029bc8b.js +0 -2467
  42. package/dist/typescript-bd1bb88f.js +0 -13632
@@ -0,0 +1,2760 @@
1
+ var sr = Object.defineProperty, or = (e) => {
2
+ throw TypeError(e);
3
+ }, an = (e, t, r) => t in e ? sr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ur = (e, t) => {
4
+ for (var r in t) sr(e, r, { get: t[r], enumerable: !0 });
5
+ }, xt = (e, t, r) => an(e, typeof t != "symbol" ? t + "" : t, r), sn = (e, t, r) => t.has(e) || or("Cannot " + r), Ne = (e, t, r) => (sn(e, t, "read from private field"), r ? r.call(e) : t.get(e)), on = (e, t, r) => t.has(e) ? or("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), un = {};
6
+ ur(un, { languages: () => ro, options: () => ao, parsers: () => Zr, printers: () => Io });
7
+ var pt = (e, t) => (r, n, ...a) => r | 1 && n == null ? void 0 : (t.call(n) ?? n[e]).apply(n, a), ln = String.prototype.replaceAll ?? function(e, t) {
8
+ return e.global ? this.replace(e, t) : this.split(e).join(t);
9
+ }, cn = pt("replaceAll", function() {
10
+ if (typeof this == "string") return ln;
11
+ }), b = cn;
12
+ function pn(e) {
13
+ return this[e < 0 ? this.length + e : e];
14
+ }
15
+ var hn = pt("at", function() {
16
+ if (Array.isArray(this) || typeof this == "string") return pn;
17
+ }), Z = hn, dn = () => {
18
+ }, mn = dn, lr = "string", cr = "array", pr = "cursor", ht = "indent", dt = "align", hr = "trim", mt = "group", gt = "fill", ft = "if-break", _t = "indent-if-break", dr = "line-suffix", mr = "line-suffix-boundary", ee = "line", gr = "label", Ct = "break-parent", fr = /* @__PURE__ */ new Set([pr, ht, dt, hr, mt, gt, ft, _t, dr, mr, ee, gr, Ct]);
19
+ function gn(e) {
20
+ if (typeof e == "string") return lr;
21
+ if (Array.isArray(e)) return cr;
22
+ if (!e) return;
23
+ let { type: t } = e;
24
+ if (fr.has(t)) return t;
25
+ }
26
+ var _r = gn, fn = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
27
+ function _n(e) {
28
+ let t = e === null ? "null" : typeof e;
29
+ if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
30
+ Expected it to be 'string' or 'object'.`;
31
+ if (_r(e)) throw new Error("doc is valid.");
32
+ let r = Object.prototype.toString.call(e);
33
+ if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
34
+ let n = fn([...fr].map((a) => `'${a}'`));
35
+ return `Unexpected doc.type '${e.type}'.
36
+ Expected it to be ${n}.`;
37
+ }
38
+ var Cn = class extends Error {
39
+ name = "InvalidDocError";
40
+ constructor(e) {
41
+ super(_n(e)), this.doc = e;
42
+ }
43
+ }, En = Cn;
44
+ function Cr(e, t) {
45
+ if (typeof e == "string") return t(e);
46
+ let r = /* @__PURE__ */ new Map();
47
+ return n(e);
48
+ function n(i) {
49
+ if (r.has(i)) return r.get(i);
50
+ let s = a(i);
51
+ return r.set(i, s), s;
52
+ }
53
+ function a(i) {
54
+ switch (_r(i)) {
55
+ case cr:
56
+ return t(i.map(n));
57
+ case gt:
58
+ return t({ ...i, parts: i.parts.map(n) });
59
+ case ft:
60
+ return t({ ...i, breakContents: n(i.breakContents), flatContents: n(i.flatContents) });
61
+ case mt: {
62
+ let { expandedStates: s, contents: o } = i;
63
+ return s ? (s = s.map(n), o = s[0]) : o = n(o), t({ ...i, contents: o, expandedStates: s });
64
+ }
65
+ case dt:
66
+ case ht:
67
+ case _t:
68
+ case gr:
69
+ case dr:
70
+ return t({ ...i, contents: n(i.contents) });
71
+ case lr:
72
+ case pr:
73
+ case hr:
74
+ case mr:
75
+ case ee:
76
+ case Ct:
77
+ return t(i);
78
+ default:
79
+ throw new En(i);
80
+ }
81
+ }
82
+ }
83
+ function L(e, t = wn) {
84
+ return Cr(e, (r) => typeof r == "string" ? te(t, r.split(`
85
+ `)) : r);
86
+ }
87
+ var vn = mn;
88
+ function O(e) {
89
+ return { type: ht, contents: e };
90
+ }
91
+ function Sn(e, t) {
92
+ return { type: dt, contents: t, n: e };
93
+ }
94
+ function An(e) {
95
+ return Sn(Number.NEGATIVE_INFINITY, e);
96
+ }
97
+ var Se = { type: Ct };
98
+ function Er(e) {
99
+ return { type: gt, parts: e };
100
+ }
101
+ function A(e, t = {}) {
102
+ return vn(t.expandedStates), { type: mt, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates };
103
+ }
104
+ function _e(e, t = "", r = {}) {
105
+ return { type: ft, breakContents: e, flatContents: t, groupId: r.groupId };
106
+ }
107
+ function Tn(e, t) {
108
+ return { type: _t, contents: e, groupId: t.groupId, negate: t.negate };
109
+ }
110
+ function te(e, t) {
111
+ let r = [];
112
+ for (let n = 0; n < t.length; n++) n !== 0 && r.push(e), r.push(t[n]);
113
+ return r;
114
+ }
115
+ var S = { type: ee }, k = { type: ee, soft: !0 }, kn = { type: ee, hard: !0 }, v = [kn, Se], bn = { type: ee, hard: !0, literal: !0 }, wn = [bn, Se], vr = Object.freeze({ character: "'", codePoint: 39 }), Sr = Object.freeze({ character: '"', codePoint: 34 }), yn = Object.freeze({ preferred: vr, alternate: Sr }), Dn = Object.freeze({ preferred: Sr, alternate: vr });
116
+ function xn(e, t) {
117
+ let { preferred: r, alternate: n } = t === !0 || t === "'" ? yn : Dn, { length: a } = e, i = 0, s = 0;
118
+ for (let o = 0; o < a; o++) {
119
+ let l = e.charCodeAt(o);
120
+ l === r.codePoint ? i++ : l === n.codePoint && s++;
121
+ }
122
+ return (i > s ? n : r).character;
123
+ }
124
+ var Nn = xn;
125
+ function Bn(e) {
126
+ if (typeof e != "string") throw new TypeError("Expected a string");
127
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
128
+ }
129
+ var Ln = class {
130
+ #e;
131
+ constructor(e) {
132
+ this.#e = new Set(e);
133
+ }
134
+ getLeadingWhitespaceCount(e) {
135
+ let t = this.#e, r = 0;
136
+ for (let n = 0; n < e.length && t.has(e.charAt(n)); n++) r++;
137
+ return r;
138
+ }
139
+ getTrailingWhitespaceCount(e) {
140
+ let t = this.#e, r = 0;
141
+ for (let n = e.length - 1; n >= 0 && t.has(e.charAt(n)); n--) r++;
142
+ return r;
143
+ }
144
+ getLeadingWhitespace(e) {
145
+ let t = this.getLeadingWhitespaceCount(e);
146
+ return e.slice(0, t);
147
+ }
148
+ getTrailingWhitespace(e) {
149
+ let t = this.getTrailingWhitespaceCount(e);
150
+ return e.slice(e.length - t);
151
+ }
152
+ hasLeadingWhitespace(e) {
153
+ return this.#e.has(e.charAt(0));
154
+ }
155
+ hasTrailingWhitespace(e) {
156
+ return this.#e.has(Z(0, e, -1));
157
+ }
158
+ trimStart(e) {
159
+ let t = this.getLeadingWhitespaceCount(e);
160
+ return e.slice(t);
161
+ }
162
+ trimEnd(e) {
163
+ let t = this.getTrailingWhitespaceCount(e);
164
+ return e.slice(0, e.length - t);
165
+ }
166
+ trim(e) {
167
+ return this.trimEnd(this.trimStart(e));
168
+ }
169
+ split(e, t = !1) {
170
+ let r = `[${Bn([...this.#e].join(""))}]+`, n = new RegExp(t ? `(${r})` : r, "u");
171
+ return e.split(n);
172
+ }
173
+ hasWhitespaceCharacter(e) {
174
+ let t = this.#e;
175
+ return Array.prototype.some.call(e, (r) => t.has(r));
176
+ }
177
+ hasNonWhitespaceCharacter(e) {
178
+ let t = this.#e;
179
+ return Array.prototype.some.call(e, (r) => !t.has(r));
180
+ }
181
+ isWhitespaceOnly(e) {
182
+ let t = this.#e;
183
+ return Array.prototype.every.call(e, (r) => t.has(r));
184
+ }
185
+ #t(e) {
186
+ let t = Number.POSITIVE_INFINITY;
187
+ for (let r of e.split(`
188
+ `)) {
189
+ if (r.length === 0) continue;
190
+ let n = this.getLeadingWhitespaceCount(r);
191
+ if (n === 0) return 0;
192
+ r.length !== n && n < t && (t = n);
193
+ }
194
+ return t === Number.POSITIVE_INFINITY ? 0 : t;
195
+ }
196
+ dedentString(e) {
197
+ let t = this.#t(e);
198
+ return t === 0 ? e : e.split(`
199
+ `).map((r) => r.slice(t)).join(`
200
+ `);
201
+ }
202
+ }, On = Ln, Fn = [" ", `
203
+ `, "\f", "\r", " "], Pn = new On(Fn), x = Pn, In = class extends Error {
204
+ name = "UnexpectedNodeError";
205
+ constructor(e, t, r = "type") {
206
+ super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`), this.node = e;
207
+ }
208
+ }, Rn = In, Mn = /* @__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"]);
209
+ function Ar(e, t, r) {
210
+ if (e.kind === "text" || e.kind === "comment") return null;
211
+ if (e.kind === "yaml" && delete t.value, e.kind === "attribute") {
212
+ let { fullName: n, value: a } = e;
213
+ n === "style" || n === "class" || n === "srcset" && (r.fullName === "img" || r.fullName === "source") || n === "allow" && r.fullName === "iframe" || n.startsWith("on") || n.startsWith("@") || n.startsWith(":") || n.startsWith(".") || n.startsWith("#") || n.startsWith("v-") || n === "vars" && r.fullName === "style" || (n === "setup" || n === "generic") && r.fullName === "script" || n === "slot-scope" || n.startsWith("(") || n.startsWith("[") || n.startsWith("*") || n.startsWith("bind") || n.startsWith("i18n") || n.startsWith("on-") || n.startsWith("ng-") || a?.includes("{{") ? delete t.value : a && (t.value = b(0, a, /'|&quot;|&apos;/gu, '"'));
214
+ }
215
+ if (e.kind === "docType" && (t.value = b(0, e.value.toLowerCase(), /\s+/gu, " ")), e.kind === "angularControlFlowBlock" && e.parameters?.children) for (let n of t.parameters.children) qn.has(e.name) ? delete n.expression : n.expression = n.expression.trim();
216
+ e.kind === "angularIcuExpression" && (t.switchValue = e.switchValue.trim()), e.kind === "angularLetDeclarationInitializer" && delete t.value, e.kind === "element" && e.isVoid && !e.isSelfClosing && (t.isSelfClosing = !0);
217
+ }
218
+ Ar.ignoredProperties = Mn;
219
+ var Hn = Ar;
220
+ function Ae(e, t = !0) {
221
+ return [O([k, e]), t ? k : ""];
222
+ }
223
+ function re(e, t) {
224
+ 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;
225
+ return r && (r.type === "ObjectExpression" || r.type === "ArrayExpression" || (t.parser === "__vue_expression" || t.parser === "__vue_ts_expression" || t.parser === "__ng_binding" || t.parser === "__ng_directive") && (r.type === "TemplateLiteral" || r.type === "StringLiteral"));
226
+ }
227
+ async function N(e, t, r, n) {
228
+ r = { __isInHtmlAttribute: !0, __embeddedInHtml: !0, ...r };
229
+ let a = !0;
230
+ n && (r.__onHtmlBindingRoot = (s, o) => {
231
+ a = n(s, o);
232
+ });
233
+ let i = await t(e, r, t);
234
+ return a ? A(i) : Ae(i);
235
+ }
236
+ function Vn(e, t, r, n) {
237
+ let { node: a } = r, i = n.originalText.slice(a.sourceSpan.start.offset, a.sourceSpan.end.offset);
238
+ return /^\s*$/u.test(i) ? "" : N(i, e, { parser: "__ng_directive", __isInHtmlAttribute: !1 }, re);
239
+ }
240
+ var Un = Vn, Wn = Array.prototype.toReversed ?? function() {
241
+ return [...this].reverse();
242
+ }, zn = pt("toReversed", function() {
243
+ if (Array.isArray(this)) return Wn;
244
+ }), $n = zn;
245
+ function jn() {
246
+ let e = globalThis, t = e.Deno?.build?.os;
247
+ return typeof t == "string" ? t === "windows" : e.navigator?.platform?.startsWith("Win") ?? e.process?.platform?.startsWith("win") ?? !1;
248
+ }
249
+ var Xn = jn();
250
+ function Tr(e) {
251
+ if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
252
+ return e;
253
+ }
254
+ function Gn(e) {
255
+ return e = Tr(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
256
+ }
257
+ function Kn(e) {
258
+ e = Tr(e);
259
+ let t = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
260
+ return e.hostname !== "" && (t = `\\\\${e.hostname}${t}`), t;
261
+ }
262
+ function Yn(e) {
263
+ return Xn ? Kn(e) : Gn(e);
264
+ }
265
+ var Jn = (e) => String(e).split(/[/\\]/u).pop(), Qn = (e) => String(e).startsWith("file:");
266
+ function Zn(e) {
267
+ return Array.isArray(e) && e.length > 0;
268
+ }
269
+ var Et = Zn;
270
+ function Nt(e, t) {
271
+ if (!t) return;
272
+ let r = Jn(t).toLowerCase();
273
+ return e.find(({ filenames: n }) => n?.some((a) => a.toLowerCase() === r)) ?? e.find(({ extensions: n }) => n?.some((a) => r.endsWith(a)));
274
+ }
275
+ function ea(e, t) {
276
+ if (t) return e.find(({ name: r }) => r.toLowerCase() === t) ?? e.find(({ aliases: r }) => r?.includes(t)) ?? e.find(({ extensions: r }) => r?.includes(`.${t}`));
277
+ }
278
+ var ta = void 0;
279
+ function Bt(e, t) {
280
+ if (t) {
281
+ if (Qn(t)) try {
282
+ t = Yn(t);
283
+ } catch {
284
+ return;
285
+ }
286
+ if (typeof t == "string") return e.find(({ isSupported: r }) => r?.({ filepath: t }));
287
+ }
288
+ }
289
+ function ra(e, t) {
290
+ let r = $n(0, e.plugins).flatMap((n) => n.languages ?? []);
291
+ return (ea(r, t.language) ?? Nt(r, t.physicalFile) ?? Nt(r, t.file) ?? Bt(r, t.physicalFile) ?? Bt(r, t.file) ?? ta?.(r, t.physicalFile))?.parsers[0];
292
+ }
293
+ var vt = ra, kr = /* @__PURE__ */ Symbol.for("PRETTIER_IS_FRONT_MATTER");
294
+ function na(e) {
295
+ return !!e?.[kr];
296
+ }
297
+ var qe = na, se = 3;
298
+ function aa(e) {
299
+ let t = e.slice(0, se);
300
+ if (t !== "---" && t !== "+++") return;
301
+ let r = e.indexOf(`
302
+ `, se);
303
+ if (r === -1) return;
304
+ let n = e.slice(se, r).trim(), a = e.indexOf(`
305
+ ${t}`, r), i = n;
306
+ if (i || (i = t === "+++" ? "toml" : "yaml"), a === -1 && t === "---" && i === "yaml" && (a = e.indexOf(`
307
+ ...`, r)), a === -1) return;
308
+ let s = a + 1 + se, o = e.charAt(s + 1);
309
+ if (!/\s?/u.test(o)) return;
310
+ let l = e.slice(0, s), c;
311
+ return { language: i, explicitLanguage: n || null, value: e.slice(r + 1, a), startDelimiter: t, endDelimiter: l.slice(-se), raw: l, start: { line: 1, column: 0, index: 0 }, end: { index: l.length, get line() {
312
+ return c ?? (c = l.split(`
313
+ `)), c.length;
314
+ }, get column() {
315
+ return c ?? (c = l.split(`
316
+ `)), Z(0, c, -1).length;
317
+ } }, [kr]: !0 };
318
+ }
319
+ function ia(e) {
320
+ let t = aa(e);
321
+ return t ? { frontMatter: t, get content() {
322
+ let { raw: r } = t;
323
+ return b(0, r, /[^\n]/gu, " ") + e.slice(r.length);
324
+ } } : { content: e };
325
+ }
326
+ var sa = ia, oa = "inline", Lt = { 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" }, ua = "normal", Ot = { listing: "pre", plaintext: "pre", pre: "pre", xmp: "pre", nobr: "nowrap", table: "initial", textarea: "pre-wrap" };
327
+ function la(e) {
328
+ return e.kind === "element" && !e.hasExplicitNamespace && !["html", "svg"].includes(e.namespace);
329
+ }
330
+ var Te = la, ca = (e) => b(0, e, /^[\t\f\r ]*\n/gu, ""), br = (e) => ca(x.trimEnd(e)), pa = (e) => {
331
+ let t = e, r = x.getLeadingWhitespace(t);
332
+ r && (t = t.slice(r.length));
333
+ let n = x.getTrailingWhitespace(t);
334
+ return n && (t = t.slice(0, -n.length)), { leadingWhitespace: r, trailingWhitespace: n, text: t };
335
+ };
336
+ function wr(e, t) {
337
+ return !!(e.kind === "ieConditionalComment" && e.lastChild && !e.lastChild.isSelfClosing && !e.lastChild.endSourceSpan || e.kind === "ieConditionalComment" && !e.complete || Q(e) && e.children.some((r) => r.kind !== "text" && r.kind !== "interpolation") || At(e, t) && !I(e, t) && e.kind !== "interpolation");
338
+ }
339
+ function He(e) {
340
+ return e.kind === "attribute" || !e.parent || !e.prev ? !1 : ha(e.prev);
341
+ }
342
+ function ha(e) {
343
+ return e.kind === "comment" && e.value.trim() === "prettier-ignore";
344
+ }
345
+ function D(e) {
346
+ return e.kind === "text" || e.kind === "comment";
347
+ }
348
+ function I(e, t) {
349
+ 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" || Te(e) && (e.name === "script" || e.name === "style"));
350
+ }
351
+ function da(e, t) {
352
+ return e.children && !I(e, t);
353
+ }
354
+ function ma(e, t) {
355
+ return I(e, t) || e.kind === "interpolation" || yr(e);
356
+ }
357
+ function yr(e) {
358
+ return Fr(e).startsWith("pre");
359
+ }
360
+ function ga(e, t) {
361
+ let r = n();
362
+ if (r && !e.prev && e.parent?.tagDefinition?.ignoreFirstLf) return e.kind === "interpolation";
363
+ return r;
364
+ function n() {
365
+ return qe(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 : Q(e.parent) ? !0 : !(!e.prev && (e.parent.kind === "root" || Q(e) && e.parent || I(e.parent, t) || Ve(e.parent, t) || !ka(e.parent.cssDisplay)) || e.prev && !ya(e.prev.cssDisplay));
366
+ }
367
+ }
368
+ function fa(e, t) {
369
+ return qe(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 : Q(e.parent) ? !0 : !(!e.next && (e.parent.kind === "root" || Q(e) && e.parent || I(e.parent, t) || Ve(e.parent, t) || !ba(e.parent.cssDisplay)) || e.next && !wa(e.next.cssDisplay));
370
+ }
371
+ function _a(e, t) {
372
+ return Da(e.cssDisplay) && !I(e, t);
373
+ }
374
+ function Be(e) {
375
+ return qe(e) || e.next && e.sourceSpan.end && e.sourceSpan.end.line + 1 < e.next.sourceSpan.start.line;
376
+ }
377
+ function Ca(e) {
378
+ return Dr(e) || e.kind === "element" && e.children.length > 0 && (["body", "script", "style"].includes(e.name) || e.children.some((t) => va(t))) || e.firstChild && e.firstChild === e.lastChild && e.firstChild.kind !== "text" && Nr(e.firstChild) && (!e.lastChild.isTrailingSpaceSensitive || Br(e.lastChild));
379
+ }
380
+ function Dr(e) {
381
+ return e.kind === "element" && e.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(e.name) || e.cssDisplay.startsWith("table") && e.cssDisplay !== "table-cell");
382
+ }
383
+ function Ge(e) {
384
+ return Lr(e) || e.prev && Ea(e.prev) || xr(e);
385
+ }
386
+ function Ea(e) {
387
+ return Lr(e) || e.kind === "element" && e.fullName === "br" || xr(e);
388
+ }
389
+ function xr(e) {
390
+ return Nr(e) && Br(e);
391
+ }
392
+ function Nr(e) {
393
+ 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);
394
+ }
395
+ function Br(e) {
396
+ 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);
397
+ }
398
+ function Lr(e) {
399
+ switch (e.kind) {
400
+ case "ieConditionalComment":
401
+ case "comment":
402
+ case "directive":
403
+ return !0;
404
+ case "element":
405
+ return ["script", "select"].includes(e.name);
406
+ }
407
+ return !1;
408
+ }
409
+ function St(e) {
410
+ return e.lastChild ? St(e.lastChild) : e;
411
+ }
412
+ function va(e) {
413
+ return e.children?.some((t) => t.kind !== "text");
414
+ }
415
+ function Or(e) {
416
+ if (e) switch (e) {
417
+ case "module":
418
+ case "text/javascript":
419
+ case "text/babel":
420
+ case "text/jsx":
421
+ case "application/javascript":
422
+ return "babel";
423
+ case "application/x-typescript":
424
+ return "typescript";
425
+ case "text/markdown":
426
+ return "markdown";
427
+ case "text/html":
428
+ return "html";
429
+ case "text/x-handlebars-template":
430
+ return "glimmer";
431
+ default:
432
+ if (e.endsWith("json") || e.endsWith("importmap") || e === "speculationrules") return "json";
433
+ }
434
+ }
435
+ function Sa(e, t) {
436
+ let { name: r, attrMap: n } = e;
437
+ if (r !== "script" || Object.prototype.hasOwnProperty.call(n, "src")) return;
438
+ let { type: a, lang: i } = e.attrMap;
439
+ return !i && !a ? "babel" : vt(t, { language: i }) ?? Or(a);
440
+ }
441
+ function Aa(e, t) {
442
+ if (!At(e, t)) return;
443
+ let { attrMap: r } = e;
444
+ if (Object.prototype.hasOwnProperty.call(r, "src")) return;
445
+ let { type: n, lang: a } = r;
446
+ return vt(t, { language: a }) ?? Or(n);
447
+ }
448
+ function Ta(e, t) {
449
+ if (e.name === "style") {
450
+ let { lang: r } = e.attrMap;
451
+ return r ? vt(t, { language: r }) : "css";
452
+ }
453
+ if (e.name === "mj-style" && t.parser === "mjml") return "css";
454
+ }
455
+ function Ft(e, t) {
456
+ return Sa(e, t) ?? Ta(e, t) ?? Aa(e, t);
457
+ }
458
+ function ke(e) {
459
+ return e === "block" || e === "list-item" || e.startsWith("table");
460
+ }
461
+ function ka(e) {
462
+ return !ke(e) && e !== "inline-block";
463
+ }
464
+ function ba(e) {
465
+ return !ke(e) && e !== "inline-block";
466
+ }
467
+ function wa(e) {
468
+ return !ke(e);
469
+ }
470
+ function ya(e) {
471
+ return !ke(e);
472
+ }
473
+ function Da(e) {
474
+ return !ke(e) && e !== "inline-block";
475
+ }
476
+ function Q(e) {
477
+ return Fr(e).startsWith("pre");
478
+ }
479
+ function xa(e, t) {
480
+ let r = e;
481
+ for (; r; ) {
482
+ if (t(r)) return !0;
483
+ r = r.parent;
484
+ }
485
+ return !1;
486
+ }
487
+ function Na(e, t) {
488
+ if (ne(e, t)) return "block";
489
+ if (e.prev?.kind === "comment") {
490
+ let n = e.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/u);
491
+ if (n) return n[1];
492
+ }
493
+ let r = !1;
494
+ if (e.kind === "element" && e.namespace === "svg") if (xa(e, (n) => n.fullName === "svg:foreignObject")) r = !0;
495
+ else return e.name === "svg" ? "inline-block" : "block";
496
+ switch (t.htmlWhitespaceSensitivity) {
497
+ case "strict":
498
+ return "inline";
499
+ case "ignore":
500
+ return "block";
501
+ default:
502
+ if (e.kind === "element" && (!e.namespace || r || Te(e)) && Object.prototype.hasOwnProperty.call(Lt, e.name)) return Lt[e.name];
503
+ }
504
+ return oa;
505
+ }
506
+ function Fr(e) {
507
+ return e.kind === "element" && (!e.namespace || Te(e)) && Object.prototype.hasOwnProperty.call(Ot, e.name) ? Ot[e.name] : ua;
508
+ }
509
+ function Pr(e) {
510
+ return b(0, b(0, e, "&apos;", "'"), "&quot;", '"');
511
+ }
512
+ function w(e) {
513
+ return Pr(e.value);
514
+ }
515
+ var Ba = /* @__PURE__ */ new Set(["template", "style", "script"]);
516
+ function Ve(e, t) {
517
+ return ne(e, t) && !Ba.has(e.fullName);
518
+ }
519
+ function ne(e, t) {
520
+ return t.parser === "vue" && e.kind === "element" && e.parent.kind === "root" && e.fullName.toLowerCase() !== "html";
521
+ }
522
+ function At(e, t) {
523
+ return ne(e, t) && (Ve(e, t) || e.attrMap.lang && e.attrMap.lang !== "html");
524
+ }
525
+ function La(e) {
526
+ let t = e.fullName;
527
+ return t.charAt(0) === "#" || t === "slot-scope" || t === "v-slot" || t.startsWith("v-slot:");
528
+ }
529
+ function Oa(e, t) {
530
+ let r = e.parent;
531
+ if (!ne(r, t)) return !1;
532
+ let n = r.fullName, a = e.fullName;
533
+ return n === "script" && a === "setup" || n === "style" && a === "vars";
534
+ }
535
+ function Ir(e, t = e.value) {
536
+ return e.parent.isWhitespaceSensitive ? e.parent.isIndentationSensitive ? L(t) : L(x.dedentString(br(t)), v) : te(S, x.split(t));
537
+ }
538
+ function Rr(e, t) {
539
+ return ne(e, t) && e.name === "script";
540
+ }
541
+ function Fa(e) {
542
+ let { valueSpan: t, value: r } = e;
543
+ return t.end.offset - t.start.offset === r.length + 2;
544
+ }
545
+ function Mr(e, t) {
546
+ if (Fa(e)) return !1;
547
+ let { value: r } = e;
548
+ return /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(r) || t.parser === "lwc" && r.startsWith("{") && r.endsWith("}");
549
+ }
550
+ var qr = /\{\{(.+?)\}\}/su, Pa = ({ node: { value: e } }) => qr.test(e);
551
+ async function Ia(e, t, r) {
552
+ let n = w(r.node), a = [];
553
+ for (let [i, s] of n.split(qr).entries()) if (i % 2 === 0) a.push(L(s));
554
+ else try {
555
+ a.push(A(["{{", O([S, await N(s, e, { parser: "__ng_interpolation", __isInHtmlInterpolation: !0 })]), S, "}}"]));
556
+ } catch {
557
+ a.push("{{", L(s), "}}");
558
+ }
559
+ return a;
560
+ }
561
+ var Ke = (e) => (t, r, n) => N(w(n.node), t, { parser: e }, re), Ra = [{ test(e) {
562
+ let t = e.node.fullName;
563
+ return t.startsWith("(") && t.endsWith(")") || t.startsWith("on-");
564
+ }, print: Ke("__ng_action") }, { test(e) {
565
+ let t = e.node.fullName;
566
+ return t.startsWith("[") && t.endsWith("]") || /^bind(?:on)?-/u.test(t) || /^ng-(?:if|show|hide|class|style)$/u.test(t);
567
+ }, print: Ke("__ng_binding") }, { test: (e) => e.node.fullName.startsWith("*"), print: Ke("__ng_directive") }, { test: (e) => /^i18n(?:-.+)?$/u.test(e.node.fullName), print: Ma }, { test: Pa, print: Ia }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "angular" && e(r), print: t }));
568
+ function Ma(e, t, { node: r }) {
569
+ let n = w(r);
570
+ return Ae(Er(Ir(r, n.trim())), !n.includes("@@"));
571
+ }
572
+ var qa = Ra, Ha = ({ node: e }, t) => !t.parentParser && e.fullName === "class" && !e.value.includes("{{"), Va = (e, t, r) => w(r.node).trim().split(/\s+/u).join(" "), Ua = ["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"], Wa = new Set(Ua), za = ({ node: e }, t) => Wa.has(e.fullName) && !t.parentParser && !e.value.includes("{{"), $a = (e, t, r) => N(w(r.node), e, { parser: "babel", __isHtmlInlineEventHandler: !0 }, () => !1);
573
+ function ja(e) {
574
+ let t = [];
575
+ for (let r of e.split(";")) {
576
+ if (r = x.trim(r), !r) continue;
577
+ let [n, ...a] = x.split(r);
578
+ t.push({ name: n, value: a });
579
+ }
580
+ return t;
581
+ }
582
+ var Xa = ja, Ga = ({ node: e }, t) => e.fullName === "allow" && !t.parentParser && e.parent.fullName === "iframe" && !e.value.includes("{{");
583
+ function Ka(e, t, r) {
584
+ let { node: n } = r, a = Xa(w(n));
585
+ return a.length === 0 ? [""] : Ae(a.map(({ name: i, value: s }, o) => [[i, ...s].join(" "), o === a.length - 1 ? _e(";") : [";", S]]));
586
+ }
587
+ function Pt(e) {
588
+ return e === " " || e === `
589
+ ` || e === "\f" || e === "\r" || e === " ";
590
+ }
591
+ var Ya = /^[ \t\n\r\u000c]+/, Ja = /^[, \t\n\r\u000c]+/, Qa = /^[^ \t\n\r\u000c]+/, Za = /[,]+$/, It = /^\d+$/, ei = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;
592
+ function ti(e) {
593
+ let t = e.length, r, n, a, i, s, o = 0, l;
594
+ function c(h) {
595
+ let f, E = h.exec(e.substring(o));
596
+ if (E) return [f] = E, o += f.length, f;
597
+ }
598
+ let p = [];
599
+ for (; ; ) {
600
+ if (c(Ja), o >= t) {
601
+ if (p.length === 0) throw new Error("Must contain one or more image candidate strings.");
602
+ return p;
603
+ }
604
+ l = o, r = c(Qa), n = [], r.slice(-1) === "," ? (r = r.replace(Za, ""), g()) : C();
605
+ }
606
+ function C() {
607
+ for (c(Ya), a = "", i = "in descriptor"; ; ) {
608
+ if (s = e.charAt(o), i === "in descriptor") if (Pt(s)) a && (n.push(a), a = "", i = "after descriptor");
609
+ else if (s === ",") {
610
+ o += 1, a && n.push(a), g();
611
+ return;
612
+ } else if (s === "(") a += s, i = "in parens";
613
+ else if (s === "") {
614
+ a && n.push(a), g();
615
+ return;
616
+ } else a += s;
617
+ else if (i === "in parens") if (s === ")") a += s, i = "in descriptor";
618
+ else if (s === "") {
619
+ n.push(a), g();
620
+ return;
621
+ } else a += s;
622
+ else if (i === "after descriptor" && !Pt(s)) if (s === "") {
623
+ g();
624
+ return;
625
+ } else i = "in descriptor", o -= 1;
626
+ o += 1;
627
+ }
628
+ }
629
+ function g() {
630
+ let h = !1, f, E, B, F, q = {}, R, xe, X, ie, Xe;
631
+ for (F = 0; F < n.length; F++) R = n[F], xe = R[R.length - 1], X = R.substring(0, R.length - 1), ie = parseInt(X, 10), Xe = parseFloat(X), It.test(X) && xe === "w" ? ((f || E) && (h = !0), ie === 0 ? h = !0 : f = ie) : ei.test(X) && xe === "x" ? ((f || E || B) && (h = !0), Xe < 0 ? h = !0 : E = Xe) : It.test(X) && xe === "h" ? ((B || E) && (h = !0), ie === 0 ? h = !0 : B = ie) : h = !0;
632
+ if (!h) q.source = { value: r, startOffset: l }, f && (q.width = { value: f }), E && (q.density = { value: E }), B && (q.height = { value: B }), p.push(q);
633
+ else throw new Error(`Invalid srcset descriptor found in "${e}" at "${R}".`);
634
+ }
635
+ }
636
+ var ri = ti, ni = (e) => e.node.fullName === "srcset" && (e.parent.fullName === "img" || e.parent.fullName === "source"), Hr = { width: "w", height: "h", density: "x" }, ai = Object.keys(Hr);
637
+ function ii(e, t, r) {
638
+ let n = w(r.node), a = ri(n), i = ai.filter((h) => a.some((f) => Object.prototype.hasOwnProperty.call(f, h)));
639
+ if (i.length > 1) throw new Error("Mixed descriptor in srcset is not supported");
640
+ let [s] = i, o = Hr[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) : ""), C = p.map((h) => {
641
+ let f = h.indexOf(".");
642
+ return f === -1 ? h.length : f;
643
+ }), g = Math.max(...C);
644
+ return Ae(te([",", S], l.map((h, f) => {
645
+ let E = [h], B = p[f];
646
+ if (B) {
647
+ let F = c - h.length + 1, q = g - C[f], R = " ".repeat(F + q);
648
+ E.push(_e(R, " "), B + o);
649
+ }
650
+ return E;
651
+ })));
652
+ }
653
+ var si = ({ node: e }, t) => e.fullName === "style" && !t.parentParser && !e.value.includes("{{"), oi = async (e, t, r) => Ae(await e(w(r.node), { parser: "css", __isHTMLStyleAttribute: !0 })), Ye = /* @__PURE__ */ new WeakMap();
654
+ function ui(e, t) {
655
+ let { root: r } = e;
656
+ return Ye.has(r) || Ye.set(r, r.children.some((n) => Rr(n, t) && ["ts", "typescript"].includes(n.attrMap.lang))), Ye.get(r);
657
+ }
658
+ var ae = ui;
659
+ function li(e, t, r) {
660
+ let n = w(r.node);
661
+ return N(`type T<${n}> = any`, e, { parser: "babel-ts", __isEmbeddedTypescriptGenericParameters: !0 }, re);
662
+ }
663
+ function ci(e, t, r, n) {
664
+ let a = w(r.node), i = ae(r, n) ? "babel-ts" : "babel";
665
+ return N(`function _(${a}) {}`, e, { parser: i, __isVueBindings: !0 });
666
+ }
667
+ async function pi(e, t, r, n) {
668
+ let a = w(r.node), { left: i, operator: s, right: o } = hi(a), l = ae(r, n);
669
+ return [A(await N(`function _(${i}) {}`, e, { parser: l ? "babel-ts" : "babel", __isVueForBindingLeft: !0 })), " ", s, " ", await N(o, e, { parser: l ? "__ts_expression" : "__js_expression" })];
670
+ }
671
+ function hi(e) {
672
+ let t = /(.*?)\s+(in|of)\s+(.*)/su, r = /,([^,\]}]*)(?:,([^,\]}]*))?$/u, n = /^\(|\)$/gu, a = e.match(t);
673
+ if (!a) return;
674
+ let i = { for: a[3].trim() };
675
+ if (!i.for) return;
676
+ let s = b(0, a[1].trim(), n, ""), o = s.match(r);
677
+ o ? (i.alias = s.replace(r, ""), i.iterator1 = o[1].trim(), o[2] && (i.iterator2 = o[2].trim())) : i.alias = s;
678
+ let l = [i.alias, i.iterator1, i.iterator2];
679
+ if (!l.some((c, p) => !c && (p === 0 || l.slice(p + 1).some(Boolean)))) return { left: l.filter(Boolean).join(","), operator: a[2], right: i.for };
680
+ }
681
+ var di = [{ test: (e) => e.node.fullName === "v-for", print: pi }, { test: (e, t) => e.node.fullName === "generic" && Rr(e.parent, t), print: li }, { test: ({ node: e }, t) => La(e) || Oa(e, t), print: ci }, { test(e) {
682
+ let t = e.node.fullName;
683
+ return t.startsWith("@") || t.startsWith("v-on:");
684
+ }, print: mi }, { test(e) {
685
+ let t = e.node.fullName;
686
+ return t.startsWith(":") || t.startsWith(".") || t.startsWith("v-bind:");
687
+ }, print: gi }, { test: (e) => e.node.fullName.startsWith("v-"), print: Vr }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "vue" && e(r, n), print: t }));
688
+ async function mi(e, t, r, n) {
689
+ try {
690
+ return await Vr(e, t, r, n);
691
+ } catch (s) {
692
+ if (s.cause?.code !== "BABEL_PARSER_SYNTAX_ERROR") throw s;
693
+ }
694
+ let a = w(r.node), i = ae(r, n) ? "__vue_ts_event_binding" : "__vue_event_binding";
695
+ return N(a, e, { parser: i }, re);
696
+ }
697
+ function gi(e, t, r, n) {
698
+ let a = w(r.node), i = ae(r, n) ? "__vue_ts_expression" : "__vue_expression";
699
+ return N(a, e, { parser: i }, re);
700
+ }
701
+ function Vr(e, t, r, n) {
702
+ let a = w(r.node), i = ae(r, n) ? "__ts_expression" : "__js_expression";
703
+ return N(a, e, { parser: i }, re);
704
+ }
705
+ var fi = di, _i = [{ test: ni, print: ii }, { test: si, print: oi }, { test: za, print: $a }, { test: Ha, print: Va }, { test: Ga, print: Ka }, ...fi, ...qa].map(({ test: e, print: t }) => ({ test: e, print: Ei(t) }));
706
+ function Ci(e, t) {
707
+ let { node: r } = e, { value: n } = r;
708
+ if (n) return Mr(r, t) ? [r.rawName, "=", n] : _i.find(({ test: a }) => a(e, t))?.print;
709
+ }
710
+ function Ei(e) {
711
+ return async (t, r, n, a) => {
712
+ let i = await e(t, r, n, a);
713
+ if (i) return i = Cr(i, (s) => typeof s == "string" ? b(0, s, '"', "&quot;") : s), [n.node.rawName, '="', A(i), '"'];
714
+ };
715
+ }
716
+ var vi = Ci, be = (e) => e.sourceSpan.start.offset, Ue = (e) => e.sourceSpan.end.offset;
717
+ function et(e, t) {
718
+ return [e.isSelfClosing ? "" : Si(e, t), de(e, t)];
719
+ }
720
+ function Si(e, t) {
721
+ return e.lastChild && Ce(e.lastChild) ? "" : [Ai(e, t), Tt(e, t)];
722
+ }
723
+ function de(e, t) {
724
+ return (e.next ? z(e.next) : ye(e.parent)) ? "" : [we(e, t), W(e, t)];
725
+ }
726
+ function Ai(e, t) {
727
+ return ye(e) ? we(e.lastChild, t) : "";
728
+ }
729
+ function W(e, t) {
730
+ return Ce(e) ? Tt(e.parent, t) : We(e) ? kt(e.next, t) : "";
731
+ }
732
+ function Tt(e, t) {
733
+ if (Ur(e, t)) return "";
734
+ switch (e.kind) {
735
+ case "ieConditionalComment":
736
+ return "<!";
737
+ case "element":
738
+ if (e.hasHtmComponentClosingTag) return "<//";
739
+ default:
740
+ return `</${e.rawName}`;
741
+ }
742
+ }
743
+ function we(e, t) {
744
+ if (Ur(e, t)) return "";
745
+ switch (e.kind) {
746
+ case "ieConditionalComment":
747
+ case "ieConditionalEndComment":
748
+ return "[endif]-->";
749
+ case "ieConditionalStartComment":
750
+ return "]><!-->";
751
+ case "interpolation":
752
+ return "}}";
753
+ case "angularIcuExpression":
754
+ return "}";
755
+ case "element":
756
+ if (e.isSelfClosing) return "/>";
757
+ default:
758
+ return ">";
759
+ }
760
+ }
761
+ function Ur(e, t) {
762
+ return !e.isSelfClosing && !e.endSourceSpan && (He(e) || wr(e.parent, t));
763
+ }
764
+ function z(e) {
765
+ return e.prev && e.prev.kind !== "docType" && e.kind !== "angularControlFlowBlock" && !D(e.prev) && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
766
+ }
767
+ function ye(e) {
768
+ return e.lastChild?.isTrailingSpaceSensitive && !e.lastChild.hasTrailingSpaces && !D(St(e.lastChild)) && !Q(e);
769
+ }
770
+ function Ce(e) {
771
+ return !e.next && !e.hasTrailingSpaces && e.isTrailingSpaceSensitive && D(St(e));
772
+ }
773
+ function We(e) {
774
+ return e.next && !D(e.next) && D(e) && e.isTrailingSpaceSensitive && !e.hasTrailingSpaces;
775
+ }
776
+ function Ti(e) {
777
+ let t = e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/su);
778
+ return t ? t[1] ? t[1].split(/\s+/u) : !0 : !1;
779
+ }
780
+ function ze(e) {
781
+ return !e.prev && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
782
+ }
783
+ function ki(e, t, r) {
784
+ let { node: n } = e;
785
+ if (!Et(n.attrs)) return n.isSelfClosing ? " " : "";
786
+ let a = n.prev?.kind === "comment" && Ti(n.prev.value), i = typeof a == "boolean" ? () => a : Array.isArray(a) ? (p) => a.includes(p.rawName) : () => !1, s = e.map(({ node: p }) => i(p) ? L(t.originalText.slice(be(p), Ue(p))) : 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 && !ne(n, t) ? v : S, c = [O([o ? " " : S, te(l, s)])];
787
+ return n.firstChild && ze(n.firstChild) || n.isSelfClosing && ye(n.parent) || o ? c.push(n.isSelfClosing ? " " : "") : c.push(t.bracketSameLine ? n.isSelfClosing ? " " : "" : n.isSelfClosing ? S : k), c;
788
+ }
789
+ function bi(e) {
790
+ return e.firstChild && ze(e.firstChild) ? "" : bt(e);
791
+ }
792
+ function tt(e, t, r) {
793
+ let { node: n } = e;
794
+ return [me(n, t), ki(e, t, r), n.isSelfClosing ? "" : bi(n)];
795
+ }
796
+ function me(e, t) {
797
+ return e.prev && We(e.prev) ? "" : [$(e, t), kt(e, t)];
798
+ }
799
+ function $(e, t) {
800
+ return ze(e) ? bt(e.parent) : z(e) ? we(e.prev, t) : "";
801
+ }
802
+ var Rt = "<!doctype";
803
+ function kt(e, t) {
804
+ switch (e.kind) {
805
+ case "ieConditionalComment":
806
+ case "ieConditionalStartComment":
807
+ return `<!--[if ${e.condition}`;
808
+ case "ieConditionalEndComment":
809
+ return "<!--<!";
810
+ case "interpolation":
811
+ return "{{";
812
+ case "docType": {
813
+ if (e.value === "html") {
814
+ let { filepath: n } = t;
815
+ if (n && /\.html?$/u.test(n)) return Rt;
816
+ }
817
+ let r = be(e);
818
+ return t.originalText.slice(r, r + Rt.length);
819
+ }
820
+ case "angularIcuExpression":
821
+ return "{";
822
+ case "element":
823
+ if (e.condition) return `<!--[if ${e.condition}]><!--><${e.rawName}`;
824
+ default:
825
+ return `<${e.rawName}`;
826
+ }
827
+ }
828
+ function bt(e) {
829
+ switch (e.kind) {
830
+ case "ieConditionalComment":
831
+ return "]>";
832
+ case "element":
833
+ if (e.condition) return "><!--<![endif]-->";
834
+ default:
835
+ return ">";
836
+ }
837
+ }
838
+ function wi(e, t) {
839
+ if (!e.endSourceSpan) return "";
840
+ let r = e.startSourceSpan.end.offset;
841
+ e.firstChild && ze(e.firstChild) && (r -= bt(e).length);
842
+ let n = e.endSourceSpan.start.offset;
843
+ return e.lastChild && Ce(e.lastChild) ? n += Tt(e, t).length : ye(e) && (n -= we(e.lastChild, t).length), t.originalText.slice(r, n);
844
+ }
845
+ var Wr = wi, yi = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
846
+ function Di(e, t) {
847
+ let { node: r } = e;
848
+ switch (r.kind) {
849
+ case "element":
850
+ if (I(r, t) || r.kind === "interpolation") return;
851
+ if (!r.isSelfClosing && At(r, t)) {
852
+ let n = Ft(r, t);
853
+ return n ? async (a, i) => {
854
+ let s = Wr(r, t), o = /^\s*$/u.test(s), l = "";
855
+ return o || (l = await a(br(s), { parser: n, __embeddedInHtml: !0 }), o = l === ""), [$(r, t), A(tt(e, t, i)), o ? "" : v, l, o ? "" : v, et(r, t), W(r, t)];
856
+ } : void 0;
857
+ }
858
+ break;
859
+ case "text":
860
+ if (I(r.parent, t)) {
861
+ let n = Ft(r.parent, t);
862
+ if (n) return async (a) => {
863
+ let i = n === "markdown" ? x.dedentString(r.value.replace(/^[^\S\n]*\n/u, "")) : r.value, s = { parser: n, __embeddedInHtml: !0 };
864
+ if (t.parser === "html" && n === "babel") {
865
+ let o = "script", { attrMap: l } = r.parent;
866
+ l && (l.type === "module" || (l.type === "text/babel" || l.type === "text/jsx") && l["data-type"] === "module") && (o = "module"), s.__babelSourceType = o;
867
+ }
868
+ return [Se, $(r, t), await a(i, s), W(r, t)];
869
+ };
870
+ } else if (r.parent.kind === "interpolation") return async (n) => {
871
+ let a = { __isInHtmlInterpolation: !0, __embeddedInHtml: !0 };
872
+ return t.parser === "angular" ? a.parser = "__ng_interpolation" : t.parser === "vue" ? a.parser = ae(e, t) ? "__vue_ts_expression" : "__vue_expression" : a.parser = "__js_expression", [O([S, await n(r.value, a)]), r.parent.next && z(r.parent.next) ? " " : S];
873
+ };
874
+ break;
875
+ case "attribute":
876
+ return vi(e, t);
877
+ case "angularControlFlowBlockParameters":
878
+ return yi.has(e.parent.name) ? Un : void 0;
879
+ case "angularLetDeclarationInitializer":
880
+ return (n) => N(r.value, n, { parser: "__ng_binding", __isInHtmlAttribute: !1 });
881
+ }
882
+ }
883
+ var xi = Di, oe = null;
884
+ function ge(e) {
885
+ if (oe !== null && typeof oe.property) {
886
+ let t = oe;
887
+ return oe = ge.prototype = null, t;
888
+ }
889
+ return oe = ge.prototype = e ?? /* @__PURE__ */ Object.create(null), new ge();
890
+ }
891
+ var Ni = 10;
892
+ for (let e = 0; e <= Ni; e++) ge();
893
+ function Bi(e) {
894
+ return ge(e);
895
+ }
896
+ function Li(e, t = "type") {
897
+ Bi(e);
898
+ function r(n) {
899
+ let a = n[t], i = e[a];
900
+ if (!Array.isArray(i)) throw Object.assign(new Error(`Missing visitor keys for '${a}'.`), { node: n });
901
+ return i;
902
+ }
903
+ return r;
904
+ }
905
+ var Oi = Li, y = [["children"], []], Fi = { 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"] }, Pi = Oi(Fi, "kind"), Ii = Pi, Ri = "format", Mi = /^\s*<!--\s*@(?:noformat|noprettier)\s*-->/u, qi = /^\s*<!--\s*@(?:format|prettier)\s*-->/u, Hi = (e) => qi.test(e), Vi = (e) => Mi.test(e), Ui = (e) => `<!-- @${Ri} -->
906
+
907
+ ${e}`, Wi = /* @__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"])]]);
908
+ function zr(e) {
909
+ let t = Ue(e);
910
+ return e.kind === "element" && !e.endSourceSpan && Et(e.children) ? Math.max(t, zr(Z(0, e.children, -1))) : t;
911
+ }
912
+ function ue(e, t, r) {
913
+ let n = e.node;
914
+ if (He(n)) {
915
+ let a = zr(n);
916
+ return [$(n, t), L(x.trimEnd(t.originalText.slice(be(n) + (n.prev && We(n.prev) ? kt(n).length : 0), a - (n.next && z(n.next) ? we(n, t).length : 0)))), W(n, t)];
917
+ }
918
+ return r();
919
+ }
920
+ function Le(e, t) {
921
+ return D(e) && D(t) ? e.isTrailingSpaceSensitive ? e.hasTrailingSpaces ? Ge(t) ? v : S : "" : Ge(t) ? v : k : We(e) && (He(t) || t.firstChild || t.isSelfClosing || t.kind === "element" && t.attrs.length > 0) || e.kind === "element" && e.isSelfClosing && z(t) ? "" : !t.isLeadingSpaceSensitive || Ge(t) || z(t) && e.lastChild && Ce(e.lastChild) && e.lastChild.lastChild && Ce(e.lastChild.lastChild) ? v : t.hasLeadingSpaces ? S : k;
922
+ }
923
+ function wt(e, t, r) {
924
+ let { node: n } = e;
925
+ if (Dr(n)) return [Se, ...e.map(() => {
926
+ let i = e.node, s = i.prev ? Le(i.prev, i) : "";
927
+ return [s ? [s, Be(i.prev) ? v : ""] : "", ue(e, t, r)];
928
+ }, "children")];
929
+ let a = n.children.map(() => /* @__PURE__ */ Symbol(""));
930
+ return e.map(({ node: i, index: s }) => {
931
+ if (D(i)) {
932
+ if (i.prev && D(i.prev)) {
933
+ let h = Le(i.prev, i);
934
+ if (h) return Be(i.prev) ? [v, v, ue(e, t, r)] : [h, ue(e, t, r)];
935
+ }
936
+ return ue(e, t, r);
937
+ }
938
+ let o = [], l = [], c = [], p = [], C = i.prev ? Le(i.prev, i) : "", g = i.next ? Le(i, i.next) : "";
939
+ return C && (Be(i.prev) ? o.push(v, v) : C === v ? o.push(v) : D(i.prev) ? l.push(C) : l.push(_e("", k, { groupId: a[s - 1] }))), g && (Be(i) ? D(i.next) && p.push(v, v) : g === v ? D(i.next) && p.push(v) : c.push(g)), [...o, A([...l, A([ue(e, t, r), ...c], { id: a[s] })]), ...p];
940
+ }, "children");
941
+ }
942
+ function zi(e, t, r) {
943
+ let { node: n } = e, a = [];
944
+ if (Xi(e) && a.push("} "), a.push("@", n.name), n.parameters && a.push(" (", A(r("parameters")), ")"), !ji(n)) {
945
+ a.push(" {");
946
+ let i = $r(n);
947
+ n.children.length > 0 ? (n.firstChild.hasLeadingSpaces = !0, n.lastChild.hasTrailingSpaces = !0, a.push(O([v, wt(e, t, r)])), i && a.push(v, "}")) : i && a.push("}");
948
+ }
949
+ return A(a, { shouldBreak: !0 });
950
+ }
951
+ function $r(e) {
952
+ return !(e.next?.kind === "angularControlFlowBlock" && Wi.get(e.name)?.has(e.next.name));
953
+ }
954
+ var $i = (e) => e?.kind === "angularControlFlowBlock" && (e.name === "case" || e.name === "default");
955
+ function ji(e) {
956
+ return $i(e) && e.endSourceSpan && e.endSourceSpan.start.offset === e.endSourceSpan.end.offset;
957
+ }
958
+ function Xi(e) {
959
+ let { previous: t } = e;
960
+ return t?.kind === "angularControlFlowBlock" && !He(t) && !$r(t);
961
+ }
962
+ function Gi(e, t, r) {
963
+ return [O([k, te([";", S], e.map(r, "children"))]), k];
964
+ }
965
+ function Ki(e, t, r) {
966
+ let { node: n } = e;
967
+ return [me(n, t), A([n.switchValue.trim(), ", ", n.type, n.cases.length > 0 ? [",", O([S, te(S, e.map(r, "cases"))])] : "", k]), de(n, t)];
968
+ }
969
+ function Yi(e, t, r) {
970
+ let { node: n } = e;
971
+ return [n.value, " {", A([O([k, e.map(({ node: a, isLast: i }) => {
972
+ let s = [r()];
973
+ return a.kind === "text" && (a.hasLeadingSpaces && s.unshift(S), a.hasTrailingSpaces && !i && s.push(S)), s;
974
+ }, "expression")]), k]), "}"];
975
+ }
976
+ function Ji(e, t, r) {
977
+ let { node: n } = e;
978
+ if (wr(n, t)) return [$(n, t), A(tt(e, t, r)), L(Wr(n, t)), ...et(n, t), W(n, t)];
979
+ 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 = /* @__PURE__ */ Symbol("element-attr-group-id"), s = (p) => A([A(tt(e, t, r), { id: i }), p, et(n, t)]), o = (p) => a ? Tn(p, { groupId: i }) : (I(n, t) || Ve(n, t)) && n.parent.kind === "root" && t.parser === "vue" && !t.vueIndentScriptAndStyle ? p : O(p), l = () => a ? _e(k, "", { groupId: i }) : n.firstChild.hasLeadingSpaces && n.firstChild.isLeadingSpaceSensitive ? S : n.firstChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive ? An(k) : k, c = () => (n.next ? z(n.next) : ye(n.parent)) ? n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? " " : "" : a ? _e(k, "", { 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) ? "" : k;
980
+ return n.children.length === 0 ? s(n.hasDanglingSpaces && n.isDanglingSpaceSensitive ? S : "") : s([Ca(n) ? Se : "", o([l(), wt(e, t, r)]), c()]);
981
+ }
982
+ var P = (function(e) {
983
+ 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;
984
+ })({});
985
+ function $e(e, t = !0) {
986
+ if (e[0] != ":") return [null, e];
987
+ let r = e.indexOf(":", 1);
988
+ if (r === -1) {
989
+ if (t) throw new Error(`Unsupported format "${e}" expecting ":namespace:name"`);
990
+ return [null, e];
991
+ }
992
+ return [e.slice(1, r), e.slice(r + 1)];
993
+ }
994
+ function Mt(e) {
995
+ return $e(e)[1] === "ng-container";
996
+ }
997
+ function qt(e) {
998
+ return $e(e)[1] === "ng-content";
999
+ }
1000
+ function Pe(e) {
1001
+ return e === null ? null : $e(e)[0];
1002
+ }
1003
+ function fe(e, t) {
1004
+ return e ? `:${e}:${t}` : t;
1005
+ }
1006
+ var Ht = { name: "custom-elements" }, Vt = { name: "no-errors-schema" }, K = (function(e) {
1007
+ 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[e.ATTRIBUTE_NO_BINDING = 6] = "ATTRIBUTE_NO_BINDING", e;
1008
+ })({}), Qi = /-+([a-z0-9])/g;
1009
+ function Zi(e) {
1010
+ return e.replace(Qi, (...t) => t[1].toUpperCase());
1011
+ }
1012
+ var Ie;
1013
+ function Ut() {
1014
+ return Ie || (Ie = {}, le(K.HTML, ["iframe|srcdoc", "*|innerHTML", "*|outerHTML"]), le(K.STYLE, ["*|style"]), le(K.URL, ["*|formAction", "area|href", "a|href", "a|xlink:href", "form|action", "annotation|href", "annotation|xlink:href", "annotation-xml|href", "annotation-xml|xlink:href", "maction|href", "maction|xlink:href", "malignmark|href", "malignmark|xlink:href", "math|href", "math|xlink:href", "mroot|href", "mroot|xlink:href", "msqrt|href", "msqrt|xlink:href", "merror|href", "merror|xlink:href", "mfrac|href", "mfrac|xlink:href", "mglyph|href", "mglyph|xlink:href", "msub|href", "msub|xlink:href", "msup|href", "msup|xlink:href", "msubsup|href", "msubsup|xlink:href", "mmultiscripts|href", "mmultiscripts|xlink:href", "mprescripts|href", "mprescripts|xlink:href", "mi|href", "mi|xlink:href", "mn|href", "mn|xlink:href", "mo|href", "mo|xlink:href", "mpadded|href", "mpadded|xlink:href", "mphantom|href", "mphantom|xlink:href", "mrow|href", "mrow|xlink:href", "ms|href", "ms|xlink:href", "mspace|href", "mspace|xlink:href", "mstyle|href", "mstyle|xlink:href", "mtable|href", "mtable|xlink:href", "mtd|href", "mtd|xlink:href", "mtr|href", "mtr|xlink:href", "mtext|href", "mtext|xlink:href", "mover|href", "mover|xlink:href", "munder|href", "munder|xlink:href", "munderover|href", "munderover|xlink:href", "semantics|href", "semantics|xlink:href", "none|href", "none|xlink:href", "img|src", "video|src"]), le(K.RESOURCE_URL, ["base|href", "embed|src", "frame|src", "iframe|src", "link|href", "object|codebase", "object|data", "script|src", "script|href", "script|xlink:href"]), le(K.ATTRIBUTE_NO_BINDING, ["animate|attributeName", "set|attributeName", "animateMotion|attributeName", "animateTransform|attributeName", "unknown|attributeName", "iframe|sandbox", "iframe|allow", "iframe|allowFullscreen", "iframe|referrerPolicy", "iframe|csp", "iframe|fetchPriority", "unknown|sandbox", "unknown|allow", "unknown|allowFullscreen", "unknown|referrerPolicy", "unknown|csp", "unknown|fetchPriority"])), Ie;
1015
+ }
1016
+ function le(e, t) {
1017
+ for (let r of t) Ie[r.toLowerCase()] = e;
1018
+ }
1019
+ var es = class {
1020
+ }, ts = "boolean", rs = "number", ns = "string", as = "object", is = ["[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:|"], jr = 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" })), ss = Array.from(jr).reduce((e, [t, r]) => (e.set(t, r), e), /* @__PURE__ */ new Map()), os = class extends es {
1021
+ constructor() {
1022
+ super(), this._schema = /* @__PURE__ */ new Map(), this._eventSchema = /* @__PURE__ */ new Map(), is.forEach((e) => {
1023
+ let t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), [n, a] = e.split("|"), i = a.split(","), [s, o] = n.split("^");
1024
+ s.split(",").forEach((c) => {
1025
+ this._schema.set(c.toLowerCase(), t), this._eventSchema.set(c.toLowerCase(), r);
1026
+ });
1027
+ let l = o && this._schema.get(o.toLowerCase());
1028
+ if (l) {
1029
+ for (let [c, p] of l) t.set(c, p);
1030
+ for (let c of this._eventSchema.get(o.toLowerCase())) r.add(c);
1031
+ }
1032
+ i.forEach((c) => {
1033
+ if (c.length > 0) switch (c[0]) {
1034
+ case "*":
1035
+ r.add(c.substring(1));
1036
+ break;
1037
+ case "!":
1038
+ t.set(c.substring(1), ts);
1039
+ break;
1040
+ case "#":
1041
+ t.set(c.substring(1), rs);
1042
+ break;
1043
+ case "%":
1044
+ t.set(c.substring(1), as);
1045
+ break;
1046
+ default:
1047
+ t.set(c, ns);
1048
+ }
1049
+ });
1050
+ });
1051
+ }
1052
+ hasProperty(e, t, r) {
1053
+ if (r.some((n) => n.name === Vt.name)) return !0;
1054
+ if (e.indexOf("-") > -1) {
1055
+ if (Mt(e) || qt(e)) return !1;
1056
+ if (r.some((n) => n.name === Ht.name)) return !0;
1057
+ }
1058
+ return (this._schema.get(e.toLowerCase()) || this._schema.get("unknown")).has(t);
1059
+ }
1060
+ hasElement(e, t) {
1061
+ return t.some((r) => r.name === Vt.name) || e.indexOf("-") > -1 && (Mt(e) || qt(e) || t.some((r) => r.name === Ht.name)) ? !0 : this._schema.has(e.toLowerCase());
1062
+ }
1063
+ securityContext(e, t, r) {
1064
+ r && (t = this.getMappedPropName(t)), e = e.toLowerCase(), t = t.toLowerCase();
1065
+ let n = Ut()[e + "|" + t];
1066
+ return n || (n = Ut()["*|" + t], n || K.NONE);
1067
+ }
1068
+ getMappedPropName(e) {
1069
+ return jr.get(e) ?? e;
1070
+ }
1071
+ getDefaultComponentElementName() {
1072
+ return "ng-component";
1073
+ }
1074
+ validateProperty(e) {
1075
+ return e.toLowerCase().startsWith("on") ? { error: !0, msg: `Binding to event property '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...
1076
+ If '${e}' is a directive input, make sure the directive is imported by the current module.` } : { error: !1 };
1077
+ }
1078
+ validateAttribute(e) {
1079
+ 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 };
1080
+ }
1081
+ allKnownElementNames() {
1082
+ return Array.from(this._schema.keys());
1083
+ }
1084
+ allKnownAttributesOfElement(e) {
1085
+ let t = this._schema.get(e.toLowerCase()) || this._schema.get("unknown");
1086
+ return Array.from(t.keys()).map((r) => ss.get(r) ?? r);
1087
+ }
1088
+ allKnownEventsOfElement(e) {
1089
+ return Array.from(this._eventSchema.get(e.toLowerCase()) ?? []);
1090
+ }
1091
+ normalizeAnimationStyleProperty(e) {
1092
+ return Zi(e);
1093
+ }
1094
+ normalizeAnimationStyleValue(e, t, r) {
1095
+ let n = "", a = r.toString().trim(), i = null;
1096
+ if (us(e) && r !== 0 && r !== "0") if (typeof r == "number") n = "px";
1097
+ else {
1098
+ let s = r.match(/^[+-]?[\d\.]+([a-z]*)$/);
1099
+ s && s[1].length == 0 && (i = `Please provide a CSS unit value for ${t}:${r}`);
1100
+ }
1101
+ return { error: i, value: a + n };
1102
+ }
1103
+ };
1104
+ function us(e) {
1105
+ switch (e) {
1106
+ case "width":
1107
+ case "height":
1108
+ case "minWidth":
1109
+ case "minHeight":
1110
+ case "maxWidth":
1111
+ case "maxHeight":
1112
+ case "left":
1113
+ case "top":
1114
+ case "bottom":
1115
+ case "right":
1116
+ case "fontSize":
1117
+ case "outlineWidth":
1118
+ case "outlineOffset":
1119
+ case "paddingTop":
1120
+ case "paddingLeft":
1121
+ case "paddingBottom":
1122
+ case "paddingRight":
1123
+ case "marginTop":
1124
+ case "marginLeft":
1125
+ case "marginBottom":
1126
+ case "marginRight":
1127
+ case "borderRadius":
1128
+ case "borderWidth":
1129
+ case "borderTopWidth":
1130
+ case "borderLeftWidth":
1131
+ case "borderRightWidth":
1132
+ case "borderBottomWidth":
1133
+ case "textIndent":
1134
+ return !0;
1135
+ default:
1136
+ return !1;
1137
+ }
1138
+ }
1139
+ var m = class {
1140
+ constructor({ closedByChildren: e, implicitNamespacePrefix: t, contentType: r = P.PARSABLE_DATA, closedByParent: n = !1, isVoid: a = !1, ignoreFirstLf: i = !1, preventNamespaceInheritance: s = !1, canSelfClose: o = !1 } = {}) {
1141
+ 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;
1142
+ }
1143
+ isClosedByChild(e) {
1144
+ return this.isVoid || e.toLowerCase() in this.closedByChildren;
1145
+ }
1146
+ getContentType(e) {
1147
+ return typeof this.contentType == "object" ? (e === void 0 ? void 0 : this.contentType[e]) ?? this.contentType.default : this.contentType;
1148
+ }
1149
+ }, Wt, ce;
1150
+ function rt(e) {
1151
+ return ce || (Wt = 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: P.RAW_TEXT }), script: new m({ contentType: P.RAW_TEXT }), title: new m({ contentType: { default: P.ESCAPABLE_RAW_TEXT, svg: P.PARSABLE_DATA } }), textarea: new m({ contentType: P.ESCAPABLE_RAW_TEXT, ignoreFirstLf: !0 }) }), new os().allKnownElementNames().forEach((t) => {
1152
+ !ce[t] && Pe(t) === null && (ce[t] = new m({ canSelfClose: !1 }));
1153
+ })), ce[e] ?? Wt;
1154
+ }
1155
+ function Re(e) {
1156
+ return e >= 9 && e <= 32 || e == 160;
1157
+ }
1158
+ function je(e) {
1159
+ return 48 <= e && e <= 57;
1160
+ }
1161
+ function Ee(e) {
1162
+ return e >= 97 && e <= 122 || e >= 65 && e <= 90;
1163
+ }
1164
+ function ls(e) {
1165
+ return e >= 97 && e <= 102 || e >= 65 && e <= 70 || je(e);
1166
+ }
1167
+ function Me(e) {
1168
+ return e === 10 || e === 13;
1169
+ }
1170
+ function zt(e) {
1171
+ return 48 <= e && e <= 55;
1172
+ }
1173
+ function Je(e) {
1174
+ return e === 39 || e === 34 || e === 96;
1175
+ }
1176
+ var nt = class Xr {
1177
+ constructor(t, r, n, a) {
1178
+ this.file = t, this.offset = r, this.line = n, this.col = a;
1179
+ }
1180
+ toString() {
1181
+ return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;
1182
+ }
1183
+ moveBy(t) {
1184
+ let r = this.file.content, n = r.length, a = this.offset, i = this.line, s = this.col;
1185
+ for (; a > 0 && t < 0; ) if (a--, t++, r.charCodeAt(a) == 10) {
1186
+ i--;
1187
+ let o = r.substring(0, a - 1).lastIndexOf(`
1188
+ `);
1189
+ s = o > 0 ? a - o : a;
1190
+ } else s--;
1191
+ for (; a < n && t > 0; ) {
1192
+ let o = r.charCodeAt(a);
1193
+ a++, t--, o == 10 ? (i++, s = 0) : s++;
1194
+ }
1195
+ return new Xr(this.file, a, i, s);
1196
+ }
1197
+ getContext(t, r) {
1198
+ let n = this.file.content, a = this.offset;
1199
+ if (a != null) {
1200
+ a > n.length - 1 && (a = n.length - 1);
1201
+ let i = a, s = 0, o = 0;
1202
+ for (; s < t && a > 0 && (a--, s++, !(n[a] == `
1203
+ ` && ++o == r)); ) ;
1204
+ for (s = 0, o = 0; s < t && i < n.length - 1 && (i++, s++, !(n[i] == `
1205
+ ` && ++o == r)); ) ;
1206
+ return { before: n.substring(a, this.offset), after: n.substring(this.offset, i + 1) };
1207
+ }
1208
+ return null;
1209
+ }
1210
+ }, Gr = class {
1211
+ constructor(e, t) {
1212
+ this.content = e, this.url = t;
1213
+ }
1214
+ }, d = class {
1215
+ constructor(e, t, r = e, n = null) {
1216
+ this.start = e, this.end = t, this.fullStart = r, this.details = n;
1217
+ }
1218
+ toString() {
1219
+ return this.start.file.content.substring(this.start.offset, this.end.offset);
1220
+ }
1221
+ }, $t = (function(e) {
1222
+ return e[e.WARNING = 0] = "WARNING", e[e.ERROR = 1] = "ERROR", e;
1223
+ })({}), Y = class extends Error {
1224
+ constructor(e, t, r = $t.ERROR, n) {
1225
+ super(t), this.span = e, this.msg = t, this.level = r, this.relatedError = n, Object.setPrototypeOf(this, new.target.prototype);
1226
+ }
1227
+ contextualMessage() {
1228
+ let e = this.span.start.getContext(100, 3);
1229
+ return e ? `${this.msg} ("${e.before}[${$t[this.level]} ->]${e.after}")` : this.msg;
1230
+ }
1231
+ toString() {
1232
+ let e = this.span.details ? `, ${this.span.details}` : "";
1233
+ return `${this.contextualMessage()}: ${this.span.start}${e}`;
1234
+ }
1235
+ }, j = class {
1236
+ constructor(e, t) {
1237
+ this.sourceSpan = e, this.i18n = t;
1238
+ }
1239
+ }, cs = class extends j {
1240
+ constructor(e, t, r, n) {
1241
+ super(t, n), this.value = e, this.tokens = r, this.kind = "text";
1242
+ }
1243
+ visit(e, t) {
1244
+ return e.visitText(this, t);
1245
+ }
1246
+ }, ps = class extends j {
1247
+ constructor(e, t, r, n) {
1248
+ super(t, n), this.value = e, this.tokens = r, this.kind = "cdata";
1249
+ }
1250
+ visit(e, t) {
1251
+ return e.visitCdata(this, t);
1252
+ }
1253
+ }, hs = class extends j {
1254
+ constructor(e, t, r, n, a, i) {
1255
+ super(n, i), this.switchValue = e, this.type = t, this.cases = r, this.switchValueSourceSpan = a, this.kind = "expansion";
1256
+ }
1257
+ visit(e, t) {
1258
+ return e.visitExpansion(this, t);
1259
+ }
1260
+ }, ds = class {
1261
+ constructor(e, t, r, n, a) {
1262
+ this.value = e, this.expression = t, this.sourceSpan = r, this.valueSourceSpan = n, this.expSourceSpan = a, this.kind = "expansionCase";
1263
+ }
1264
+ visit(e, t) {
1265
+ return e.visitExpansionCase(this, t);
1266
+ }
1267
+ }, ms = class extends j {
1268
+ constructor(e, t, r, n, a, i, s) {
1269
+ super(r, s), this.name = e, this.value = t, this.keySpan = n, this.valueSpan = a, this.valueTokens = i, this.kind = "attribute";
1270
+ }
1271
+ visit(e, t) {
1272
+ return e.visitAttribute(this, t);
1273
+ }
1274
+ get nameSpan() {
1275
+ return this.keySpan;
1276
+ }
1277
+ }, H = class extends j {
1278
+ constructor(e, t, r, n, a, i, s, o = null, l = null, c, p) {
1279
+ 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";
1280
+ }
1281
+ visit(e, t) {
1282
+ return e.visitElement(this, t);
1283
+ }
1284
+ }, gs = class {
1285
+ constructor(e, t) {
1286
+ this.value = e, this.sourceSpan = t, this.kind = "comment";
1287
+ }
1288
+ visit(e, t) {
1289
+ return e.visitComment(this, t);
1290
+ }
1291
+ }, fs = class {
1292
+ constructor(e, t) {
1293
+ this.value = e, this.sourceSpan = t, this.kind = "docType";
1294
+ }
1295
+ visit(e, t) {
1296
+ return e.visitDocType(this, t);
1297
+ }
1298
+ }, G = class extends j {
1299
+ constructor(e, t, r, n, a, i, s = null, o) {
1300
+ super(n, o), this.name = e, this.parameters = t, this.children = r, this.nameSpan = a, this.startSourceSpan = i, this.endSourceSpan = s, this.kind = "block";
1301
+ }
1302
+ visit(e, t) {
1303
+ return e.visitBlock(this, t);
1304
+ }
1305
+ }, M = class extends j {
1306
+ constructor(e, t, r, n, a, i, s, o, l, c = null, p) {
1307
+ 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";
1308
+ }
1309
+ visit(e, t) {
1310
+ return e.visitComponent(this, t);
1311
+ }
1312
+ }, _s = class {
1313
+ constructor(e, t, r, n, a = null) {
1314
+ this.name = e, this.attrs = t, this.sourceSpan = r, this.startSourceSpan = n, this.endSourceSpan = a, this.kind = "directive";
1315
+ }
1316
+ visit(e, t) {
1317
+ return e.visitDirective(this, t);
1318
+ }
1319
+ }, jt = class {
1320
+ constructor(e, t) {
1321
+ this.expression = e, this.sourceSpan = t, this.kind = "blockParameter", this.startSourceSpan = null, this.endSourceSpan = null;
1322
+ }
1323
+ visit(e, t) {
1324
+ return e.visitBlockParameter(this, t);
1325
+ }
1326
+ }, Xt = class {
1327
+ constructor(e, t, r, n, a) {
1328
+ this.name = e, this.value = t, this.sourceSpan = r, this.nameSpan = n, this.valueSpan = a, this.kind = "letDeclaration", this.startSourceSpan = null, this.endSourceSpan = null;
1329
+ }
1330
+ visit(e, t) {
1331
+ return e.visitLetDeclaration(this, t);
1332
+ }
1333
+ };
1334
+ function Kr(e, t, r = null) {
1335
+ let n = [], a = e.visit ? (i) => e.visit(i, r) || i.visit(e, r) : (i) => i.visit(e, r);
1336
+ return t.forEach((i) => {
1337
+ let s = a(i);
1338
+ s && n.push(s);
1339
+ }), n;
1340
+ }
1341
+ var Cs = class {
1342
+ constructor() {
1343
+ }
1344
+ visitElement(e, t) {
1345
+ this.visitChildren(t, (r) => {
1346
+ r(e.attrs), r(e.directives), r(e.children);
1347
+ });
1348
+ }
1349
+ visitAttribute(e, t) {
1350
+ }
1351
+ visitText(e, t) {
1352
+ }
1353
+ visitCdata(e, t) {
1354
+ }
1355
+ visitComment(e, t) {
1356
+ }
1357
+ visitDocType(e, t) {
1358
+ }
1359
+ visitExpansion(e, t) {
1360
+ return this.visitChildren(t, (r) => {
1361
+ r(e.cases);
1362
+ });
1363
+ }
1364
+ visitExpansionCase(e, t) {
1365
+ }
1366
+ visitBlock(e, t) {
1367
+ this.visitChildren(t, (r) => {
1368
+ r(e.parameters), r(e.children);
1369
+ });
1370
+ }
1371
+ visitBlockParameter(e, t) {
1372
+ }
1373
+ visitLetDeclaration(e, t) {
1374
+ }
1375
+ visitComponent(e, t) {
1376
+ this.visitChildren(t, (r) => {
1377
+ r(e.attrs), r(e.children);
1378
+ });
1379
+ }
1380
+ visitDirective(e, t) {
1381
+ this.visitChildren(t, (r) => {
1382
+ r(e.attrs);
1383
+ });
1384
+ }
1385
+ visitChildren(e, t) {
1386
+ let r = [], n = this;
1387
+ function a(i) {
1388
+ i && r.push(Kr(n, i, e));
1389
+ }
1390
+ return t(a), Array.prototype.concat.apply([], r);
1391
+ }
1392
+ }, ve = { 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: `
1393
+ `, 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: "‌" }, Es = "";
1394
+ ve.ngsp = Es;
1395
+ var u = (function(e) {
1396
+ 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;
1397
+ })({}), vs = class {
1398
+ constructor(e, t, r) {
1399
+ this.tokens = e, this.errors = t, this.nonNormalizedIcuExpressions = r;
1400
+ }
1401
+ };
1402
+ function Ss(e, t, r, n = {}) {
1403
+ let a = new bs(new Gr(e, t), r, n);
1404
+ return a.tokenize(), new vs(Ls(a.tokens), a.errors, a.nonNormalizedIcuExpressions);
1405
+ }
1406
+ var As = /\r\n?/g;
1407
+ function V(e) {
1408
+ return `Unexpected character "${e === 0 ? "EOF" : String.fromCharCode(e)}"`;
1409
+ }
1410
+ function Gt(e) {
1411
+ return `Unknown entity "${e}" - use the "&#<decimal>;" or "&#x<hex>;" syntax`;
1412
+ }
1413
+ function Ts(e, t) {
1414
+ return `Unable to parse entity "${t}" - ${e} character reference entities must end with ";"`;
1415
+ }
1416
+ var at = (function(e) {
1417
+ return e.HEX = "hexadecimal", e.DEC = "decimal", e;
1418
+ })(at || {}), ks = ["@if", "@else", "@for", "@switch", "@case", "@default", "@empty", "@defer", "@placeholder", "@loading", "@error"], pe = { start: "{{", end: "}}" }, bs = class {
1419
+ constructor(e, t, r) {
1420
+ 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;
1421
+ let n = r.range || { endPos: e.content.length, startPos: 0, startLine: 0, startCol: 0 };
1422
+ this._cursor = r.escapedString ? new Os(e, n) : new Yr(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;
1423
+ try {
1424
+ this._cursor.init();
1425
+ } catch (a) {
1426
+ this.handleError(a);
1427
+ }
1428
+ }
1429
+ _processCarriageReturns(e) {
1430
+ return this._preserveLineEndings ? e : e.replace(As, `
1431
+ `);
1432
+ }
1433
+ tokenize() {
1434
+ for (; this._cursor.peek() !== 0; ) {
1435
+ let e = this._cursor.clone();
1436
+ try {
1437
+ if (this._attemptCharCode(60)) if (this._attemptCharCode(33)) this._attemptStr("[CDATA[") ? this._consumeCdata(e) : this._attemptStr("--") ? this._consumeComment(e) : this._attemptStrCaseInsensitive("doctype") ? this._consumeDocType(e) : this._consumeBogusComment(e);
1438
+ else if (this._attemptCharCode(47)) this._consumeTagClose(e);
1439
+ else {
1440
+ let t = this._cursor.clone();
1441
+ this._attemptCharCode(63) ? (this._cursor = t, this._consumeBogusComment(e)) : this._consumeTagOpen(e);
1442
+ }
1443
+ else 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());
1444
+ } catch (t) {
1445
+ this.handleError(t);
1446
+ }
1447
+ }
1448
+ this._beginToken(u.EOF), this._endToken([]);
1449
+ }
1450
+ _getBlockName() {
1451
+ let e = !1, t = this._cursor.clone();
1452
+ return this._attemptCharCodeUntilFn((r) => Re(r) ? !e : Bs(r) ? (e = !0, !1) : !0), this._cursor.getChars(t).trim();
1453
+ }
1454
+ _consumeBlockStart(e) {
1455
+ this._requireCharCode(64), this._beginToken(u.BLOCK_OPEN_START, e);
1456
+ let t = this._endToken([this._getBlockName()]);
1457
+ if (this._cursor.peek() === 40) if (this._cursor.advance(), this._consumeBlockParameters(), this._attemptCharCodeUntilFn(_), this._attemptCharCode(41)) this._attemptCharCodeUntilFn(_);
1458
+ else {
1459
+ t.type = u.INCOMPLETE_BLOCK_OPEN;
1460
+ return;
1461
+ }
1462
+ this._attemptCharCode(123) ? (this._beginToken(u.BLOCK_OPEN_END), this._endToken([])) : this._isBlockStart() && (t.parts[0] === "case" || t.parts[0] === "default") ? (this._beginToken(u.BLOCK_OPEN_END), this._endToken([]), this._beginToken(u.BLOCK_CLOSE), this._endToken([])) : t.type = u.INCOMPLETE_BLOCK_OPEN;
1463
+ }
1464
+ _consumeBlockEnd(e) {
1465
+ this._beginToken(u.BLOCK_CLOSE, e), this._endToken([]);
1466
+ }
1467
+ _consumeBlockParameters() {
1468
+ for (this._attemptCharCodeUntilFn(Yt); this._cursor.peek() !== 41 && this._cursor.peek() !== 0; ) {
1469
+ this._beginToken(u.BLOCK_PARAMETER);
1470
+ let e = this._cursor.clone(), t = null, r = 0;
1471
+ for (; this._cursor.peek() !== 59 && this._cursor.peek() !== 0 || t !== null; ) {
1472
+ let n = this._cursor.peek();
1473
+ if (n === 92) this._cursor.advance();
1474
+ else if (n === t) t = null;
1475
+ else if (t === null && Je(n)) t = n;
1476
+ else if (n === 40 && t === null) r++;
1477
+ else if (n === 41 && t === null) {
1478
+ if (r === 0) break;
1479
+ r > 0 && r--;
1480
+ }
1481
+ this._cursor.advance();
1482
+ }
1483
+ this._endToken([this._cursor.getChars(e)]), this._attemptCharCodeUntilFn(Yt);
1484
+ }
1485
+ }
1486
+ _consumeLetDeclaration(e) {
1487
+ if (this._requireStr("@let"), this._beginToken(u.LET_START, e), Re(this._cursor.peek())) this._attemptCharCodeUntilFn(_);
1488
+ else {
1489
+ let r = this._endToken([this._cursor.getChars(e)]);
1490
+ r.type = u.INCOMPLETE_LET;
1491
+ return;
1492
+ }
1493
+ let t = this._endToken([this._getLetDeclarationName()]);
1494
+ if (this._attemptCharCodeUntilFn(_), !this._attemptCharCode(61)) {
1495
+ t.type = u.INCOMPLETE_LET;
1496
+ return;
1497
+ }
1498
+ this._attemptCharCodeUntilFn((r) => _(r) && !Me(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));
1499
+ }
1500
+ _getLetDeclarationName() {
1501
+ let e = this._cursor.clone(), t = !1;
1502
+ return this._attemptCharCodeUntilFn((r) => Ee(r) || r === 36 || r === 95 || t && je(r) ? (t = !0, !1) : !0), this._cursor.getChars(e).trim();
1503
+ }
1504
+ _consumeLetDeclarationValue() {
1505
+ let e = this._cursor.clone();
1506
+ for (this._beginToken(u.LET_VALUE, e); this._cursor.peek() !== 0; ) {
1507
+ let t = this._cursor.peek();
1508
+ if (t === 59) break;
1509
+ Je(t) && (this._cursor.advance(), this._attemptCharCodeUntilFn((r) => r === 92 ? (this._cursor.advance(), !1) : r === t)), this._cursor.advance();
1510
+ }
1511
+ this._endToken([this._cursor.getChars(e)]);
1512
+ }
1513
+ _tokenizeExpansionForm() {
1514
+ if (this.isExpansionFormStart()) return this._consumeExpansionFormStart(), !0;
1515
+ if (xs(this._cursor.peek()) && this._isInExpansionForm()) return this._consumeExpansionCaseStart(), !0;
1516
+ if (this._cursor.peek() === 125) {
1517
+ if (this._isInExpansionCase()) return this._consumeExpansionCaseEnd(), !0;
1518
+ if (this._isInExpansionForm()) return this._consumeExpansionFormEnd(), !0;
1519
+ }
1520
+ return !1;
1521
+ }
1522
+ _beginToken(e, t = this._cursor.clone()) {
1523
+ this._currentTokenStart = t, this._currentTokenType = e;
1524
+ }
1525
+ _endToken(e, t) {
1526
+ if (this._currentTokenStart === null) throw new Y(this._cursor.getSpan(t), "Programming error - attempted to end a token when there was no start to the token");
1527
+ if (this._currentTokenType === null) throw new Y(this._cursor.getSpan(this._currentTokenStart), "Programming error - attempted to end a token which has no token type");
1528
+ let r = { type: this._currentTokenType, parts: e, sourceSpan: (t ?? this._cursor).getSpan(this._currentTokenStart, this._leadingTriviaCodePoints) };
1529
+ return this.tokens.push(r), this._currentTokenStart = null, this._currentTokenType = null, r;
1530
+ }
1531
+ _createError(e, t) {
1532
+ this._isInExpansionForm() && (e += ` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);
1533
+ let r = new Y(t, e);
1534
+ return this._currentTokenStart = null, this._currentTokenType = null, r;
1535
+ }
1536
+ handleError(e) {
1537
+ if (e instanceof yt && (e = this._createError(e.msg, this._cursor.getSpan(e.cursor))), e instanceof Y) this.errors.push(e);
1538
+ else throw e;
1539
+ }
1540
+ _attemptCharCode(e) {
1541
+ return this._cursor.peek() === e ? (this._cursor.advance(), !0) : !1;
1542
+ }
1543
+ _attemptCharCodeCaseInsensitive(e) {
1544
+ return Ns(this._cursor.peek(), e) ? (this._cursor.advance(), !0) : !1;
1545
+ }
1546
+ _requireCharCode(e) {
1547
+ let t = this._cursor.clone();
1548
+ if (!this._attemptCharCode(e)) throw this._createError(V(this._cursor.peek()), this._cursor.getSpan(t));
1549
+ }
1550
+ _attemptStr(e) {
1551
+ let t = e.length;
1552
+ if (this._cursor.charsLeft() < t) return !1;
1553
+ let r = this._cursor.clone();
1554
+ for (let n = 0; n < t; n++) if (!this._attemptCharCode(e.charCodeAt(n))) return this._cursor = r, !1;
1555
+ return !0;
1556
+ }
1557
+ _attemptStrCaseInsensitive(e) {
1558
+ for (let t = 0; t < e.length; t++) if (!this._attemptCharCodeCaseInsensitive(e.charCodeAt(t))) return !1;
1559
+ return !0;
1560
+ }
1561
+ _requireStr(e) {
1562
+ let t = this._cursor.clone();
1563
+ if (!this._attemptStr(e)) throw this._createError(V(this._cursor.peek()), this._cursor.getSpan(t));
1564
+ }
1565
+ _requireStrCaseInsensitive(e) {
1566
+ let t = this._cursor.clone();
1567
+ if (!this._attemptStrCaseInsensitive(e)) throw this._createError(V(this._cursor.peek()), this._cursor.getSpan(t));
1568
+ }
1569
+ _attemptCharCodeUntilFn(e) {
1570
+ for (; !e(this._cursor.peek()); ) this._cursor.advance();
1571
+ }
1572
+ _requireCharCodeUntilFn(e, t) {
1573
+ let r = this._cursor.clone();
1574
+ if (this._attemptCharCodeUntilFn(e), this._cursor.diff(r) < t) throw this._createError(V(this._cursor.peek()), this._cursor.getSpan(r));
1575
+ }
1576
+ _attemptUntilChar(e) {
1577
+ for (; this._cursor.peek() !== e; ) this._cursor.advance();
1578
+ }
1579
+ _readChar() {
1580
+ let e = String.fromCodePoint(this._cursor.peek());
1581
+ return this._cursor.advance(), e;
1582
+ }
1583
+ _peekStr(e) {
1584
+ let t = e.length;
1585
+ if (this._cursor.charsLeft() < t) return !1;
1586
+ let r = this._cursor.clone();
1587
+ for (let n = 0; n < t; n++) {
1588
+ if (r.peek() !== e.charCodeAt(n)) return !1;
1589
+ r.advance();
1590
+ }
1591
+ return !0;
1592
+ }
1593
+ _isBlockStart() {
1594
+ return this._cursor.peek() === 64 && ks.some((e) => this._peekStr(e));
1595
+ }
1596
+ _isLetStart() {
1597
+ return this._cursor.peek() === 64 && this._peekStr("@let");
1598
+ }
1599
+ _consumeEntity(e) {
1600
+ this._beginToken(u.ENCODED_ENTITY);
1601
+ let t = this._cursor.clone();
1602
+ if (this._cursor.advance(), this._attemptCharCode(35)) {
1603
+ let r = this._attemptCharCode(120) || this._attemptCharCode(88), n = this._cursor.clone();
1604
+ if (this._attemptCharCodeUntilFn(ys), this._cursor.peek() != 59) {
1605
+ this._cursor.advance();
1606
+ let i = r ? at.HEX : at.DEC;
1607
+ throw this._createError(Ts(i, this._cursor.getChars(t)), this._cursor.getSpan());
1608
+ }
1609
+ let a = this._cursor.getChars(n);
1610
+ this._cursor.advance();
1611
+ try {
1612
+ let i = parseInt(a, r ? 16 : 10);
1613
+ this._endToken([String.fromCodePoint(i), this._cursor.getChars(t)]);
1614
+ } catch {
1615
+ throw this._createError(Gt(this._cursor.getChars(t)), this._cursor.getSpan());
1616
+ }
1617
+ } else {
1618
+ let r = this._cursor.clone();
1619
+ if (this._attemptCharCodeUntilFn(Ds), this._cursor.peek() != 59) this._beginToken(e, t), this._cursor = r, this._endToken(["&"]);
1620
+ else {
1621
+ let n = this._cursor.getChars(r);
1622
+ this._cursor.advance();
1623
+ let a = ve.hasOwnProperty(n) && ve[n];
1624
+ if (!a) throw this._createError(Gt(n), this._cursor.getSpan(t));
1625
+ this._endToken([a, `&${n};`]);
1626
+ }
1627
+ }
1628
+ }
1629
+ _consumeRawText(e, t) {
1630
+ this._beginToken(e ? u.ESCAPABLE_RAW_TEXT : u.RAW_TEXT);
1631
+ let r = [];
1632
+ for (; ; ) {
1633
+ let n = this._cursor.clone(), a = t();
1634
+ if (this._cursor = n, a) break;
1635
+ 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());
1636
+ }
1637
+ this._endToken([this._processCarriageReturns(r.join(""))]);
1638
+ }
1639
+ _consumeComment(e) {
1640
+ this._beginToken(u.COMMENT_START, e), this._endToken([]), this._consumeRawText(!1, () => this._attemptStr("-->")), this._beginToken(u.COMMENT_END), this._requireStr("-->"), this._endToken([]);
1641
+ }
1642
+ _consumeBogusComment(e) {
1643
+ 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([]);
1644
+ }
1645
+ _consumeCdata(e) {
1646
+ this._beginToken(u.CDATA_START, e), this._endToken([]), this._consumeRawText(!1, () => this._attemptStr("]]>")), this._beginToken(u.CDATA_END), this._requireStr("]]>"), this._endToken([]);
1647
+ }
1648
+ _consumeDocType(e) {
1649
+ 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([]);
1650
+ }
1651
+ _consumePrefixAndName(e) {
1652
+ let t = this._cursor.clone(), r = "";
1653
+ for (; this._cursor.peek() !== 58 && !ws(this._cursor.peek()); ) this._cursor.advance();
1654
+ let n;
1655
+ this._cursor.peek() === 58 ? (r = this._cursor.getChars(t), this._cursor.advance(), n = this._cursor.clone()) : n = t, this._requireCharCodeUntilFn(e, r === "" ? 0 : 1);
1656
+ let a = this._cursor.getChars(n);
1657
+ return [r, a];
1658
+ }
1659
+ _consumeTagOpen(e) {
1660
+ let t, r, n, a, i = [];
1661
+ try {
1662
+ if (this._selectorlessEnabled && Oe(this._cursor.peek())) a = this._consumeComponentOpenStart(e), [n, r, t] = a.parts, r && (n += `:${r}`), t && (n += `:${t}`), this._attemptCharCodeUntilFn(_);
1663
+ else {
1664
+ if (!Ee(this._cursor.peek())) throw this._createError(V(this._cursor.peek()), this._cursor.getSpan(e));
1665
+ a = this._consumeTagOpenStart(e), r = a.parts[0], t = n = a.parts[1], this._attemptCharCodeUntilFn(_);
1666
+ }
1667
+ for (; !Qt(this._cursor.peek()); ) if (this._selectorlessEnabled && this._cursor.peek() === 64) {
1668
+ let o = this._cursor.clone(), l = o.clone();
1669
+ l.advance(), Oe(l.peek()) && this._consumeDirective(o, l);
1670
+ } else {
1671
+ let o = this._consumeAttribute();
1672
+ i.push(o);
1673
+ }
1674
+ a.type === u.COMPONENT_OPEN_START ? this._consumeComponentOpenEnd() : this._consumeTagOpenEnd();
1675
+ } catch (o) {
1676
+ if (o instanceof Y) {
1677
+ a ? a.type = a.type === u.COMPONENT_OPEN_START ? u.INCOMPLETE_COMPONENT_OPEN : u.INCOMPLETE_TAG_OPEN : (this._beginToken(u.TEXT, e), this._endToken(["<"]));
1678
+ return;
1679
+ }
1680
+ throw o;
1681
+ }
1682
+ if (this._canSelfClose && this.tokens[this.tokens.length - 1].type === u.TAG_OPEN_END_VOID) return;
1683
+ let s = this._getTagContentType(t, r, this._fullNameStack.length > 0, i);
1684
+ this._handleFullNameStackForTagOpen(r, t), s === P.RAW_TEXT ? this._consumeRawTextWithTagClose(r, a, n, !1) : s === P.ESCAPABLE_RAW_TEXT && this._consumeRawTextWithTagClose(r, a, n, !0);
1685
+ }
1686
+ _consumeRawTextWithTagClose(e, t, r, n) {
1687
+ this._consumeRawText(n, () => !this._attemptCharCode(60) || !this._attemptCharCode(47) || (this._attemptCharCodeUntilFn(_), !this._attemptStrCaseInsensitive(e && t.type !== u.COMPONENT_OPEN_START ? `${e}:${r}` : r)) ? !1 : (this._attemptCharCodeUntilFn(_), 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);
1688
+ }
1689
+ _consumeTagOpenStart(e) {
1690
+ this._beginToken(u.TAG_OPEN_START, e);
1691
+ let t = this._consumePrefixAndName(U);
1692
+ return this._endToken(t);
1693
+ }
1694
+ _consumeComponentOpenStart(e) {
1695
+ this._beginToken(u.COMPONENT_OPEN_START, e);
1696
+ let t = this._consumeComponentName();
1697
+ return this._endToken(t);
1698
+ }
1699
+ _consumeComponentName() {
1700
+ let e = this._cursor.clone();
1701
+ for (; Jt(this._cursor.peek()); ) this._cursor.advance();
1702
+ let t = this._cursor.getChars(e), r = "", n = "";
1703
+ return this._cursor.peek() === 58 && (this._cursor.advance(), [r, n] = this._consumePrefixAndName(U)), [t, r, n];
1704
+ }
1705
+ _consumeAttribute() {
1706
+ let [e, t] = this._consumeAttributeName(), r;
1707
+ return this._attemptCharCodeUntilFn(_), this._attemptCharCode(61) && (this._attemptCharCodeUntilFn(_), r = this._consumeAttributeValue()), this._attemptCharCodeUntilFn(_), { prefix: e, name: t, value: r };
1708
+ }
1709
+ _consumeAttributeName() {
1710
+ let e = this._cursor.peek();
1711
+ if (e === 39 || e === 34) throw this._createError(V(e), this._cursor.getSpan());
1712
+ this._beginToken(u.ATTR_NAME);
1713
+ let t;
1714
+ if (this._openDirectiveCount > 0) {
1715
+ let n = 0;
1716
+ t = (a) => {
1717
+ if (this._openDirectiveCount > 0) {
1718
+ if (a === 40) n++;
1719
+ else if (a === 41) {
1720
+ if (n === 0) return !0;
1721
+ n--;
1722
+ }
1723
+ }
1724
+ return U(a);
1725
+ };
1726
+ } else if (e === 91) {
1727
+ let n = 0;
1728
+ t = (a) => (a === 91 ? n++ : a === 93 && n--, n <= 0 ? U(a) : Me(a));
1729
+ } else t = U;
1730
+ let r = this._consumePrefixAndName(t);
1731
+ return this._endToken(r), r;
1732
+ }
1733
+ _consumeAttributeValue() {
1734
+ let e;
1735
+ if (this._cursor.peek() === 39 || this._cursor.peek() === 34) {
1736
+ let t = this._cursor.peek();
1737
+ this._consumeQuote(t);
1738
+ let r = () => this._cursor.peek() === t;
1739
+ e = this._consumeWithInterpolation(u.ATTR_VALUE_TEXT, u.ATTR_VALUE_INTERPOLATION, r, r), this._consumeQuote(t);
1740
+ } else {
1741
+ let t = () => U(this._cursor.peek());
1742
+ e = this._consumeWithInterpolation(u.ATTR_VALUE_TEXT, u.ATTR_VALUE_INTERPOLATION, t, t);
1743
+ }
1744
+ return e;
1745
+ }
1746
+ _consumeQuote(e) {
1747
+ this._beginToken(u.ATTR_QUOTE), this._requireCharCode(e), this._endToken([String.fromCodePoint(e)]);
1748
+ }
1749
+ _consumeTagOpenEnd() {
1750
+ let e = this._attemptCharCode(47) ? u.TAG_OPEN_END_VOID : u.TAG_OPEN_END;
1751
+ this._beginToken(e), this._requireCharCode(62), this._endToken([]);
1752
+ }
1753
+ _consumeComponentOpenEnd() {
1754
+ let e = this._attemptCharCode(47) ? u.COMPONENT_OPEN_END_VOID : u.COMPONENT_OPEN_END;
1755
+ this._beginToken(e), this._requireCharCode(62), this._endToken([]);
1756
+ }
1757
+ _consumeTagClose(e) {
1758
+ if (this._selectorlessEnabled) {
1759
+ let t = e.clone();
1760
+ for (; t.peek() !== 62 && !Oe(t.peek()); ) t.advance();
1761
+ if (Oe(t.peek())) {
1762
+ this._beginToken(u.COMPONENT_CLOSE, e);
1763
+ let r = this._consumeComponentName();
1764
+ this._attemptCharCodeUntilFn(_), this._requireCharCode(62), this._endToken(r);
1765
+ return;
1766
+ }
1767
+ }
1768
+ if (this._beginToken(u.TAG_CLOSE, e), this._attemptCharCodeUntilFn(_), this._allowHtmComponentClosingTags && this._attemptCharCode(47)) this._attemptCharCodeUntilFn(_), this._requireCharCode(62), this._endToken([]);
1769
+ else {
1770
+ let [t, r] = this._consumePrefixAndName(U);
1771
+ this._attemptCharCodeUntilFn(_), this._requireCharCode(62), this._endToken([t, r]), this._handleFullNameStackForTagClose(t, r);
1772
+ }
1773
+ }
1774
+ _consumeExpansionFormStart() {
1775
+ this._beginToken(u.EXPANSION_FORM_START), this._requireCharCode(123), this._endToken([]), this._expansionCaseStack.push(u.EXPANSION_FORM_START), this._beginToken(u.RAW_TEXT);
1776
+ let e = this._readUntil(44), t = this._processCarriageReturns(e);
1777
+ if (this._i18nNormalizeLineEndingsInICUs) this._endToken([t]);
1778
+ else {
1779
+ let n = this._endToken([e]);
1780
+ t !== e && this.nonNormalizedIcuExpressions.push(n);
1781
+ }
1782
+ this._requireCharCode(44), this._attemptCharCodeUntilFn(_), this._beginToken(u.RAW_TEXT);
1783
+ let r = this._readUntil(44);
1784
+ this._endToken([r]), this._requireCharCode(44), this._attemptCharCodeUntilFn(_);
1785
+ }
1786
+ _consumeExpansionCaseStart() {
1787
+ this._beginToken(u.EXPANSION_CASE_VALUE);
1788
+ let e = this._readUntil(123).trim();
1789
+ this._endToken([e]), this._attemptCharCodeUntilFn(_), this._beginToken(u.EXPANSION_CASE_EXP_START), this._requireCharCode(123), this._endToken([]), this._attemptCharCodeUntilFn(_), this._expansionCaseStack.push(u.EXPANSION_CASE_EXP_START);
1790
+ }
1791
+ _consumeExpansionCaseEnd() {
1792
+ this._beginToken(u.EXPANSION_CASE_EXP_END), this._requireCharCode(125), this._endToken([]), this._attemptCharCodeUntilFn(_), this._expansionCaseStack.pop();
1793
+ }
1794
+ _consumeExpansionFormEnd() {
1795
+ this._beginToken(u.EXPANSION_FORM_END), this._requireCharCode(125), this._endToken([]), this._expansionCaseStack.pop();
1796
+ }
1797
+ _consumeWithInterpolation(e, t, r, n) {
1798
+ this._beginToken(e);
1799
+ let a = [];
1800
+ for (; !r(); ) {
1801
+ let s = this._cursor.clone();
1802
+ 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());
1803
+ }
1804
+ this._inInterpolation = !1;
1805
+ let i = this._processCarriageReturns(a.join(""));
1806
+ return this._endToken([i]), i;
1807
+ }
1808
+ _consumeInterpolation(e, t, r) {
1809
+ let n = [];
1810
+ this._beginToken(e, t), n.push(pe.start);
1811
+ let a = this._cursor.clone(), i = null, s = !1;
1812
+ for (; this._cursor.peek() !== 0 && (r === null || !r()); ) {
1813
+ let o = this._cursor.clone();
1814
+ if (this._isTagStart()) {
1815
+ this._cursor = o, n.push(this._getProcessedChars(a, o)), this._endToken(n);
1816
+ return;
1817
+ }
1818
+ if (i === null) if (this._attemptStr(pe.end)) {
1819
+ n.push(this._getProcessedChars(a, o)), n.push(pe.end), this._endToken(n);
1820
+ return;
1821
+ } else this._attemptStr("//") && (s = !0);
1822
+ let l = this._cursor.peek();
1823
+ this._cursor.advance(), l === 92 ? this._cursor.advance() : l === i ? i = null : !s && i === null && Je(l) && (i = l);
1824
+ }
1825
+ n.push(this._getProcessedChars(a, this._cursor)), this._endToken(n);
1826
+ }
1827
+ _consumeDirective(e, t) {
1828
+ for (this._requireCharCode(64), this._cursor.advance(); Jt(this._cursor.peek()); ) this._cursor.advance();
1829
+ this._beginToken(u.DIRECTIVE_NAME, e);
1830
+ let r = this._cursor.getChars(t);
1831
+ if (this._endToken([r]), this._attemptCharCodeUntilFn(_), this._cursor.peek() === 40) {
1832
+ for (this._openDirectiveCount++, this._beginToken(u.DIRECTIVE_OPEN), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(_); !Qt(this._cursor.peek()) && this._cursor.peek() !== 41; ) this._consumeAttribute();
1833
+ if (this._attemptCharCodeUntilFn(_), this._openDirectiveCount--, this._cursor.peek() !== 41) {
1834
+ if (this._cursor.peek() === 62 || this._cursor.peek() === 47) return;
1835
+ throw this._createError(V(this._cursor.peek()), this._cursor.getSpan(e));
1836
+ }
1837
+ this._beginToken(u.DIRECTIVE_CLOSE), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(_);
1838
+ }
1839
+ }
1840
+ _getProcessedChars(e, t) {
1841
+ return this._processCarriageReturns(t.getChars(e));
1842
+ }
1843
+ _isTextEnd() {
1844
+ 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));
1845
+ }
1846
+ _isTagStart() {
1847
+ if (this._cursor.peek() === 60) {
1848
+ let e = this._cursor.clone();
1849
+ e.advance();
1850
+ let t = e.peek();
1851
+ if (97 <= t && t <= 122 || 65 <= t && t <= 90 || t === 47 || t === 33) return !0;
1852
+ }
1853
+ return !1;
1854
+ }
1855
+ _readUntil(e) {
1856
+ let t = this._cursor.clone();
1857
+ return this._attemptUntilChar(e), this._cursor.getChars(t);
1858
+ }
1859
+ _isInExpansion() {
1860
+ return this._isInExpansionCase() || this._isInExpansionForm();
1861
+ }
1862
+ _isInExpansionCase() {
1863
+ return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === u.EXPANSION_CASE_EXP_START;
1864
+ }
1865
+ _isInExpansionForm() {
1866
+ return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === u.EXPANSION_FORM_START;
1867
+ }
1868
+ isExpansionFormStart() {
1869
+ if (this._cursor.peek() !== 123) return !1;
1870
+ let e = this._cursor.clone(), t = this._attemptStr(pe.start);
1871
+ return this._cursor = e, !t;
1872
+ }
1873
+ _handleFullNameStackForTagOpen(e, t) {
1874
+ let r = fe(e, t);
1875
+ (this._fullNameStack.length === 0 || this._fullNameStack[this._fullNameStack.length - 1] === r) && this._fullNameStack.push(r);
1876
+ }
1877
+ _handleFullNameStackForTagClose(e, t) {
1878
+ let r = fe(e, t);
1879
+ this._fullNameStack.length !== 0 && this._fullNameStack[this._fullNameStack.length - 1] === r && this._fullNameStack.pop();
1880
+ }
1881
+ };
1882
+ function _(e) {
1883
+ return !Re(e) || e === 0;
1884
+ }
1885
+ function U(e) {
1886
+ return Re(e) || e === 62 || e === 60 || e === 47 || e === 39 || e === 34 || e === 61 || e === 0;
1887
+ }
1888
+ function ws(e) {
1889
+ return (e < 97 || 122 < e) && (e < 65 || 90 < e) && (e < 48 || e > 57);
1890
+ }
1891
+ function ys(e) {
1892
+ return e === 59 || e === 0 || !ls(e);
1893
+ }
1894
+ function Ds(e) {
1895
+ return e === 59 || e === 0 || !Ee(e);
1896
+ }
1897
+ function xs(e) {
1898
+ return e !== 125;
1899
+ }
1900
+ function Ns(e, t) {
1901
+ return Kt(e) === Kt(t);
1902
+ }
1903
+ function Kt(e) {
1904
+ return e >= 97 && e <= 122 ? e - 97 + 65 : e;
1905
+ }
1906
+ function Bs(e) {
1907
+ return Ee(e) || je(e) || e === 95;
1908
+ }
1909
+ function Yt(e) {
1910
+ return e !== 59 && _(e);
1911
+ }
1912
+ function Oe(e) {
1913
+ return e === 95 || e >= 65 && e <= 90;
1914
+ }
1915
+ function Jt(e) {
1916
+ return Ee(e) || je(e) || e === 95;
1917
+ }
1918
+ function Qt(e) {
1919
+ return e === 47 || e === 62 || e === 60 || e === 0;
1920
+ }
1921
+ function Ls(e) {
1922
+ let t = [], r;
1923
+ for (let n = 0; n < e.length; n++) {
1924
+ let a = e[n];
1925
+ 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));
1926
+ }
1927
+ return t;
1928
+ }
1929
+ var Yr = class it {
1930
+ constructor(t, r) {
1931
+ if (t instanceof it) {
1932
+ this.file = t.file, this.input = t.input, this.end = t.end;
1933
+ let n = t.state;
1934
+ this.state = { peek: n.peek, offset: n.offset, line: n.line, column: n.column };
1935
+ } else {
1936
+ if (!r) throw new Error("Programming error: the range argument must be provided with a file argument.");
1937
+ this.file = t, this.input = t.content, this.end = r.endPos, this.state = { peek: -1, offset: r.startPos, line: r.startLine, column: r.startCol };
1938
+ }
1939
+ }
1940
+ clone() {
1941
+ return new it(this);
1942
+ }
1943
+ peek() {
1944
+ return this.state.peek;
1945
+ }
1946
+ charsLeft() {
1947
+ return this.end - this.state.offset;
1948
+ }
1949
+ diff(t) {
1950
+ return this.state.offset - t.state.offset;
1951
+ }
1952
+ advance() {
1953
+ this.advanceState(this.state);
1954
+ }
1955
+ init() {
1956
+ this.updatePeek(this.state);
1957
+ }
1958
+ getSpan(t, r) {
1959
+ t = t || this;
1960
+ let n = t;
1961
+ if (r) for (; this.diff(t) > 0 && r.indexOf(t.peek()) !== -1; ) n === t && (t = t.clone()), t.advance();
1962
+ let a = this.locationFromCursor(t);
1963
+ return new d(a, this.locationFromCursor(this), n !== t ? this.locationFromCursor(n) : a);
1964
+ }
1965
+ getChars(t) {
1966
+ return this.input.substring(t.state.offset, this.state.offset);
1967
+ }
1968
+ charAt(t) {
1969
+ return this.input.charCodeAt(t);
1970
+ }
1971
+ advanceState(t) {
1972
+ if (t.offset >= this.end) throw this.state = t, new yt('Unexpected character "EOF"', this);
1973
+ let r = this.charAt(t.offset);
1974
+ r === 10 ? (t.line++, t.column = 0) : Me(r) || t.column++, t.offset++, this.updatePeek(t);
1975
+ }
1976
+ updatePeek(t) {
1977
+ t.peek = t.offset >= this.end ? 0 : this.charAt(t.offset);
1978
+ }
1979
+ locationFromCursor(t) {
1980
+ return new nt(t.file, t.state.offset, t.state.line, t.state.column);
1981
+ }
1982
+ }, Os = class st extends Yr {
1983
+ constructor(t, r) {
1984
+ t instanceof st ? (super(t), this.internalState = { ...t.internalState }) : (super(t, r), this.internalState = this.state);
1985
+ }
1986
+ advance() {
1987
+ this.state = this.internalState, super.advance(), this.processEscapeSequence();
1988
+ }
1989
+ init() {
1990
+ super.init(), this.processEscapeSequence();
1991
+ }
1992
+ clone() {
1993
+ return new st(this);
1994
+ }
1995
+ getChars(t) {
1996
+ let r = t.clone(), n = "";
1997
+ for (; r.internalState.offset < this.internalState.offset; ) n += String.fromCodePoint(r.peek()), r.advance();
1998
+ return n;
1999
+ }
2000
+ processEscapeSequence() {
2001
+ let t = () => this.internalState.peek;
2002
+ if (t() === 92) if (this.internalState = { ...this.state }, this.advanceState(this.internalState), t() === 110) this.state.peek = 10;
2003
+ else if (t() === 114) this.state.peek = 13;
2004
+ else if (t() === 118) this.state.peek = 11;
2005
+ else if (t() === 116) this.state.peek = 9;
2006
+ else if (t() === 98) this.state.peek = 8;
2007
+ else if (t() === 102) this.state.peek = 12;
2008
+ else if (t() === 117) if (this.advanceState(this.internalState), t() === 123) {
2009
+ this.advanceState(this.internalState);
2010
+ let r = this.clone(), n = 0;
2011
+ for (; t() !== 125; ) this.advanceState(this.internalState), n++;
2012
+ this.state.peek = this.decodeHexDigits(r, n);
2013
+ } else {
2014
+ let r = this.clone();
2015
+ this.advanceState(this.internalState), this.advanceState(this.internalState), this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 4);
2016
+ }
2017
+ else if (t() === 120) {
2018
+ this.advanceState(this.internalState);
2019
+ let r = this.clone();
2020
+ this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 2);
2021
+ } else if (zt(t())) {
2022
+ let r = "", n = 0, a = this.clone();
2023
+ for (; zt(t()) && n < 3; ) a = this.clone(), r += String.fromCodePoint(t()), this.advanceState(this.internalState), n++;
2024
+ this.state.peek = parseInt(r, 8), this.internalState = a.internalState;
2025
+ } else Me(this.internalState.peek) ? (this.advanceState(this.internalState), this.state = this.internalState) : this.state.peek = this.internalState.peek;
2026
+ }
2027
+ decodeHexDigits(t, r) {
2028
+ let n = this.input.slice(t.internalState.offset, t.internalState.offset + r), a = parseInt(n, 16);
2029
+ if (isNaN(a)) throw t.state = t.internalState, new yt("Invalid hexadecimal escape sequence", t);
2030
+ return a;
2031
+ }
2032
+ }, yt = class extends Error {
2033
+ constructor(e, t) {
2034
+ super(e), this.msg = e, this.cursor = t, Object.setPrototypeOf(this, new.target.prototype);
2035
+ }
2036
+ }, T = class Jr extends Y {
2037
+ static create(t, r, n) {
2038
+ return new Jr(t, r, n);
2039
+ }
2040
+ constructor(t, r, n) {
2041
+ super(r, n), this.elementName = t;
2042
+ }
2043
+ }, Fs = class {
2044
+ constructor(e, t) {
2045
+ this.rootNodes = e, this.errors = t;
2046
+ }
2047
+ }, Ps = class {
2048
+ constructor(e) {
2049
+ this.getTagDefinition = e;
2050
+ }
2051
+ parse(e, t, r, n = !1, a) {
2052
+ let i = (h) => (f, ...E) => h(f.toLowerCase(), ...E), s = n ? this.getTagDefinition : i(this.getTagDefinition), o = (h) => s(h).getContentType(), l = n ? a : i(a), c = Ss(e, t, a ? (h, f, E, B) => {
2053
+ let F = l(h, f, E, B);
2054
+ return F !== void 0 ? F : o(h);
2055
+ } : o, r), p = r && r.canSelfClose || !1, C = r && r.allowHtmComponentClosingTags || !1, g = new Is(c.tokens, s, p, C, n);
2056
+ return g.build(), new Fs(g.rootNodes, [...c.errors, ...g.errors]);
2057
+ }
2058
+ }, Is = class Qr {
2059
+ constructor(t, r, n, a, i) {
2060
+ 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();
2061
+ }
2062
+ build() {
2063
+ for (; this._peek.type !== u.EOF; ) 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();
2064
+ for (let t of this._containerStack) t instanceof G && this.errors.push(T.create(t.name, t.sourceSpan, `Unclosed block "${t.name}"`));
2065
+ }
2066
+ _advance() {
2067
+ let t = this._peek;
2068
+ return this._index < this.tokens.length - 1 && this._index++, this._peek = this.tokens[this._index], t;
2069
+ }
2070
+ _advanceIf(t) {
2071
+ return this._peek.type === t ? this._advance() : null;
2072
+ }
2073
+ _consumeCdata(t) {
2074
+ let r = this._advance(), n = this._getText(r), a = this._advanceIf(u.CDATA_END);
2075
+ this._addToParent(new ps(n, new d(t.sourceSpan.start, (a || r).sourceSpan.end), [r]));
2076
+ }
2077
+ _consumeComment(t) {
2078
+ 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);
2079
+ this._addToParent(new gs(a, i));
2080
+ }
2081
+ _consumeDocType(t) {
2082
+ 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);
2083
+ this._addToParent(new fs(a, i));
2084
+ }
2085
+ _consumeExpansion(t) {
2086
+ let r = this._advance(), n = this._advance(), a = [];
2087
+ for (; this._peek.type === u.EXPANSION_CASE_VALUE; ) {
2088
+ let s = this._parseExpansionCase();
2089
+ if (!s) return;
2090
+ a.push(s);
2091
+ }
2092
+ if (this._peek.type !== u.EXPANSION_FORM_END) {
2093
+ this.errors.push(T.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '}'."));
2094
+ return;
2095
+ }
2096
+ let i = new d(t.sourceSpan.start, this._peek.sourceSpan.end, t.sourceSpan.fullStart);
2097
+ this._addToParent(new hs(r.parts[0], n.parts[0], a, i, r.sourceSpan)), this._advance();
2098
+ }
2099
+ _parseExpansionCase() {
2100
+ let t = this._advance();
2101
+ if (this._peek.type !== u.EXPANSION_CASE_EXP_START) return this.errors.push(T.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '{'.")), null;
2102
+ let r = this._advance(), n = this._collectExpansionExpTokens(r);
2103
+ if (!n) return null;
2104
+ let a = this._advance();
2105
+ n.push({ type: u.EOF, parts: [], sourceSpan: a.sourceSpan });
2106
+ let i = new Qr(n, this.tagDefinitionResolver, this.canSelfClose, this.allowHtmComponentClosingTags, this.isTagNameCaseSensitive);
2107
+ if (i.build(), i.errors.length > 0) return this.errors = this.errors.concat(i.errors), null;
2108
+ 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);
2109
+ return new ds(t.parts[0], i.rootNodes, s, t.sourceSpan, o);
2110
+ }
2111
+ _collectExpansionExpTokens(t) {
2112
+ let r = [], n = [u.EXPANSION_CASE_EXP_START];
2113
+ for (; ; ) {
2114
+ 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) if (Zt(n, u.EXPANSION_CASE_EXP_START)) {
2115
+ if (n.pop(), n.length === 0) return r;
2116
+ } else return this.errors.push(T.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2117
+ if (this._peek.type === u.EXPANSION_FORM_END) if (Zt(n, u.EXPANSION_FORM_START)) n.pop();
2118
+ else return this.errors.push(T.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2119
+ if (this._peek.type === u.EOF) return this.errors.push(T.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2120
+ r.push(this._advance());
2121
+ }
2122
+ }
2123
+ _getText(t) {
2124
+ let r = t.parts[0];
2125
+ if (r.length > 0 && r[0] == `
2126
+ `) {
2127
+ var n;
2128
+ let a = this._getClosestElementLikeParent();
2129
+ a != null && a.children.length == 0 && !((n = this._getTagDefinition(a)) === null || n === void 0) && n.ignoreFirstLf && (r = r.substring(1));
2130
+ }
2131
+ return r;
2132
+ }
2133
+ _consumeText(t) {
2134
+ let r = [t], n = t.sourceSpan, a = t.parts[0];
2135
+ if (a.length > 0 && a[0] === `
2136
+ `) {
2137
+ var i;
2138
+ let s = this._getContainer();
2139
+ 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] });
2140
+ }
2141
+ for (; this._peek.type === u.INTERPOLATION || this._peek.type === u.TEXT || this._peek.type === u.ENCODED_ENTITY; ) t = this._advance(), r.push(t), t.type === u.INTERPOLATION ? a += t.parts.join("").replace(/&([^;]+);/g, er) : t.type === u.ENCODED_ENTITY ? a += t.parts[0] : a += t.parts.join("");
2142
+ if (a.length > 0) {
2143
+ let s = t.sourceSpan;
2144
+ this._addToParent(new cs(a, new d(n.start, s.end, n.fullStart, n.details), r));
2145
+ }
2146
+ }
2147
+ _closeVoidElement() {
2148
+ var t;
2149
+ let r = this._getContainer();
2150
+ r !== null && !((t = this._getTagDefinition(r)) === null || t === void 0) && t.isVoid && this._containerStack.pop();
2151
+ }
2152
+ _consumeElementStartTag(t) {
2153
+ var r;
2154
+ let n = [], a = [];
2155
+ this._consumeAttributesAndDirectives(n, a);
2156
+ let i = this._getElementFullName(t, this._getClosestElementLikeParent()), s = this._getTagDefinition(i), o = !1;
2157
+ if (this._peek.type === u.TAG_OPEN_END_VOID) {
2158
+ this._advance(), o = !0;
2159
+ let E = this._getTagDefinition(i);
2160
+ this.canSelfClose || E?.canSelfClose || Pe(i) !== null || E?.isVoid || this.errors.push(T.create(i, t.sourceSpan, `Only void, custom and foreign elements can be self closed "${t.parts[1]}"`));
2161
+ } else this._peek.type === u.TAG_OPEN_END && (this._advance(), o = !1);
2162
+ 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), C = new d(t.sourceSpan.start.moveBy(1), t.sourceSpan.end), g = new H(i, n, a, [], o, c, p, void 0, C, s?.isVoid ?? !1), h = this._getContainer(), f = h !== null && !!(!((r = this._getTagDefinition(h)) === null || r === void 0) && r.isClosedByChild(g.name));
2163
+ this._pushContainer(g, f), o ? this._popContainer(i, H, c) : t.type === u.INCOMPLETE_TAG_OPEN && (this._popContainer(i, H, null), this.errors.push(T.create(i, c, `Opening tag "${i}" not terminated.`)));
2164
+ }
2165
+ _consumeComponentStartTag(t) {
2166
+ var r;
2167
+ let n = t.parts[0], a = [], i = [];
2168
+ this._consumeAttributesAndDirectives(a, i);
2169
+ let s = this._getClosestElementLikeParent(), o = this._getComponentTagName(t, s), l = this._getComponentFullName(t, s), c = this._peek.type === u.COMPONENT_OPEN_END_VOID;
2170
+ this._advance();
2171
+ let p = this._peek.sourceSpan.fullStart, C = new d(t.sourceSpan.start, p, t.sourceSpan.fullStart), g = new d(t.sourceSpan.start, p, t.sourceSpan.fullStart), h = new M(n, o, l, a, i, [], c, C, g, void 0), f = this._getContainer(), E = f !== null && h.tagName !== null && !!(!((r = this._getTagDefinition(f)) === null || r === void 0) && r.isClosedByChild(h.tagName));
2172
+ this._pushContainer(h, E), c ? this._popContainer(l, M, C) : t.type === u.INCOMPLETE_COMPONENT_OPEN && (this._popContainer(l, M, null), this.errors.push(T.create(l, C, `Opening tag "${l}" not terminated.`)));
2173
+ }
2174
+ _consumeAttributesAndDirectives(t, r) {
2175
+ for (; this._peek.type === u.ATTR_NAME || this._peek.type === u.DIRECTIVE_NAME; ) this._peek.type === u.DIRECTIVE_NAME ? r.push(this._consumeDirective(this._peek)) : t.push(this._consumeAttr(this._advance()));
2176
+ }
2177
+ _consumeComponentEndTag(t) {
2178
+ let r = this._getComponentFullName(t, this._getClosestElementLikeParent());
2179
+ if (!this._popContainer(r, M, t.sourceSpan)) {
2180
+ let n = this._containerStack[this._containerStack.length - 1], a;
2181
+ n instanceof M && 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.";
2182
+ let i = `Unexpected closing tag "${r}"${a}`;
2183
+ this.errors.push(T.create(r, t.sourceSpan, i));
2184
+ }
2185
+ }
2186
+ _getTagDefinition(t) {
2187
+ return typeof t == "string" ? this.tagDefinitionResolver(t) : t instanceof H ? this.tagDefinitionResolver(t.name) : t instanceof M && t.tagName !== null ? this.tagDefinitionResolver(t.tagName) : null;
2188
+ }
2189
+ _pushContainer(t, r) {
2190
+ r && this._containerStack.pop(), this._addToParent(t), this._containerStack.push(t);
2191
+ }
2192
+ _consumeElementEndTag(t) {
2193
+ var r;
2194
+ let n = this.allowHtmComponentClosingTags && t.parts.length === 0 ? null : this._getElementFullName(t, this._getClosestElementLikeParent());
2195
+ if (n && !((r = this._getTagDefinition(n)) === null || r === void 0) && r.isVoid) this.errors.push(T.create(n, t.sourceSpan, `Void elements do not have end tags "${t.parts[1]}"`));
2196
+ else if (!this._popContainer(n, H, t.sourceSpan)) {
2197
+ 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`;
2198
+ this.errors.push(T.create(n, t.sourceSpan, a));
2199
+ }
2200
+ }
2201
+ _popContainer(t, r, n) {
2202
+ let a = !1;
2203
+ for (let s = this._containerStack.length - 1; s >= 0; s--) {
2204
+ var i;
2205
+ let o = this._containerStack[s], l = o instanceof M ? o.fullName : o.name;
2206
+ if (Pe(l) ? l === t : (l === t || t === null) && o instanceof r) return o.endSourceSpan = n, o.sourceSpan.end = n !== null ? n.end : o.sourceSpan.end, this._containerStack.splice(s, this._containerStack.length - s), !a;
2207
+ (o instanceof G || !(!((i = this._getTagDefinition(o)) === null || i === void 0) && i.closedByParent)) && (a = !0);
2208
+ }
2209
+ return !1;
2210
+ }
2211
+ _consumeAttr(t) {
2212
+ let r = fe(t.parts[0], t.parts[1]), n = t.sourceSpan.end, a;
2213
+ this._peek.type === u.ATTR_QUOTE && (a = this._advance());
2214
+ let i = "", s = [], o, l;
2215
+ if (this._peek.type === u.ATTR_VALUE_TEXT) 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; ) {
2216
+ let p = this._advance();
2217
+ s.push(p), p.type === u.ATTR_VALUE_INTERPOLATION ? i += p.parts.join("").replace(/&([^;]+);/g, er) : p.type === u.ENCODED_ENTITY ? i += p.parts[0] : i += p.parts.join(""), l = n = p.sourceSpan.end;
2218
+ }
2219
+ this._peek.type === u.ATTR_QUOTE && (l = n = this._advance().sourceSpan.end);
2220
+ let c = o && l && new d(a?.sourceSpan.start ?? o.start, l, a?.sourceSpan.fullStart ?? o.fullStart);
2221
+ return new ms(r, i, new d(t.sourceSpan.start, n, t.sourceSpan.fullStart), t.sourceSpan, c, s.length > 0 ? s : void 0, void 0);
2222
+ }
2223
+ _consumeDirective(t) {
2224
+ let r = [], n = t.sourceSpan.end, a = null;
2225
+ if (this._advance(), this._peek.type === u.DIRECTIVE_OPEN) {
2226
+ for (n = this._peek.sourceSpan.end, this._advance(); this._peek.type === u.ATTR_NAME; ) r.push(this._consumeAttr(this._advance()));
2227
+ this._peek.type === u.DIRECTIVE_CLOSE ? (a = this._peek.sourceSpan, this._advance()) : this.errors.push(T.create(null, t.sourceSpan, "Unterminated directive definition"));
2228
+ }
2229
+ 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);
2230
+ return new _s(t.parts[0], r, s, i, a);
2231
+ }
2232
+ _consumeBlockOpen(t) {
2233
+ let r = [];
2234
+ for (; this._peek.type === u.BLOCK_PARAMETER; ) {
2235
+ let o = this._advance();
2236
+ r.push(new jt(o.parts[0], o.sourceSpan));
2237
+ }
2238
+ this._peek.type === u.BLOCK_OPEN_END && this._advance();
2239
+ 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 G(t.parts[0], r, [], a, t.sourceSpan, i);
2240
+ this._pushContainer(s, !1);
2241
+ }
2242
+ _consumeBlockClose(t) {
2243
+ this._popContainer(null, G, 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.'));
2244
+ }
2245
+ _consumeIncompleteBlock(t) {
2246
+ let r = [];
2247
+ for (; this._peek.type === u.BLOCK_PARAMETER; ) {
2248
+ let o = this._advance();
2249
+ r.push(new jt(o.parts[0], o.sourceSpan));
2250
+ }
2251
+ 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 G(t.parts[0], r, [], a, t.sourceSpan, i);
2252
+ this._pushContainer(s, !1), this._popContainer(null, G, 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.`));
2253
+ }
2254
+ _consumeLet(t) {
2255
+ let r = t.parts[0], n, a;
2256
+ if (this._peek.type !== u.LET_VALUE) {
2257
+ this.errors.push(T.create(t.parts[0], t.sourceSpan, `Invalid @let declaration "${r}". Declaration must have a value.`));
2258
+ return;
2259
+ } else n = this._advance();
2260
+ if (this._peek.type !== u.LET_END) {
2261
+ this.errors.push(T.create(t.parts[0], t.sourceSpan, `Unterminated @let declaration "${r}". Declaration must be terminated with a semicolon.`));
2262
+ return;
2263
+ } else a = this._advance();
2264
+ 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 Xt(r, n.parts[0], s, l, n.sourceSpan);
2265
+ this._addToParent(c);
2266
+ }
2267
+ _consumeIncompleteLet(t) {
2268
+ let r = t.parts[0] ?? "", n = r ? ` "${r}"` : "";
2269
+ if (r.length > 0) {
2270
+ 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 Xt(r, "", t.sourceSpan, i, s);
2271
+ this._addToParent(o);
2272
+ }
2273
+ this.errors.push(T.create(t.parts[0], t.sourceSpan, `Incomplete @let declaration${n}. @let declarations must be written as \`@let <name> = <value>;\``));
2274
+ }
2275
+ _getContainer() {
2276
+ return this._containerStack.length > 0 ? this._containerStack[this._containerStack.length - 1] : null;
2277
+ }
2278
+ _getClosestElementLikeParent() {
2279
+ for (let t = this._containerStack.length - 1; t > -1; t--) {
2280
+ let r = this._containerStack[t];
2281
+ if (r instanceof H || r instanceof M) return r;
2282
+ }
2283
+ return null;
2284
+ }
2285
+ _addToParent(t) {
2286
+ let r = this._getContainer();
2287
+ r === null ? this.rootNodes.push(t) : r.children.push(t);
2288
+ }
2289
+ _getElementFullName(t, r) {
2290
+ return fe(this._getPrefix(t, r), t.parts[1]);
2291
+ }
2292
+ _getComponentFullName(t, r) {
2293
+ let n = t.parts[0], a = this._getComponentTagName(t, r);
2294
+ return a === null ? n : a.startsWith(":") ? n + a : `${n}:${a}`;
2295
+ }
2296
+ _getComponentTagName(t, r) {
2297
+ let n = this._getPrefix(t, r), a = t.parts[2];
2298
+ return !n && !a ? null : !n && a ? a : fe(n, a || "ng-component");
2299
+ }
2300
+ _getPrefix(t, r) {
2301
+ var n;
2302
+ let a, i;
2303
+ 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) {
2304
+ let s = r instanceof H ? r.name : r.tagName;
2305
+ if (s !== null) {
2306
+ let o = $e(s)[1], l = this._getTagDefinition(o);
2307
+ l !== null && !l.preventNamespaceInheritance && (a = Pe(s));
2308
+ }
2309
+ }
2310
+ return a;
2311
+ }
2312
+ };
2313
+ function Zt(e, t) {
2314
+ return e.length > 0 && e[e.length - 1] === t;
2315
+ }
2316
+ function er(e, t) {
2317
+ return ve[t] !== void 0 ? ve[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;
2318
+ }
2319
+ var Rs = class extends Ps {
2320
+ constructor() {
2321
+ super(rt);
2322
+ }
2323
+ parse(e, t, r, n = !1, a) {
2324
+ return super.parse(e, t, r, n, a);
2325
+ }
2326
+ }, Qe = null, Ms = () => (Qe || (Qe = new Rs()), Qe);
2327
+ function ot(e, t = {}) {
2328
+ let { canSelfClose: r = !1, allowHtmComponentClosingTags: n = !1, isTagNameCaseSensitive: a = !1, getTagContentType: i, tokenizeAngularBlocks: s = !1, tokenizeAngularLetDeclaration: o = !1, enableAngularSelectorlessSyntax: l = !1 } = t;
2329
+ return Ms().parse(e, "angular-html-parser", { tokenizeExpansionForms: s, canSelfClose: r, allowHtmComponentClosingTags: n, tokenizeBlocks: s, tokenizeLet: o, selectorlessEnabled: l }, a, i);
2330
+ }
2331
+ var qs = [Vs, Us, zs, js, Xs, Ys, Gs, Ks, Js, $s];
2332
+ function Hs(e, t) {
2333
+ for (let r of qs) r(e, t);
2334
+ return e;
2335
+ }
2336
+ function Vs(e) {
2337
+ e.walk((t) => {
2338
+ if (t.kind === "element" && t.tagDefinition.ignoreFirstLf && t.children.length > 0 && t.children[0].kind === "text" && t.children[0].value[0] === `
2339
+ `) {
2340
+ let r = t.children[0];
2341
+ r.value.length === 1 ? t.removeChild(r) : r.value = r.value.slice(1);
2342
+ }
2343
+ });
2344
+ }
2345
+ function Us(e) {
2346
+ let t = (r) => r.kind === "element" && r.prev?.kind === "ieConditionalStartComment" && r.prev.sourceSpan.end.offset === r.startSourceSpan.start.offset && r.firstChild?.kind === "ieConditionalEndComment" && r.firstChild.sourceSpan.start.offset === r.startSourceSpan.end.offset;
2347
+ e.walk((r) => {
2348
+ if (r.children) for (let n = 0; n < r.children.length; n++) {
2349
+ let a = r.children[n];
2350
+ if (!t(a)) continue;
2351
+ let i = a.prev, s = a.firstChild;
2352
+ r.removeChild(i), n--;
2353
+ let o = new d(i.sourceSpan.start, s.sourceSpan.end), l = new d(o.start, a.sourceSpan.end);
2354
+ a.condition = i.condition, a.sourceSpan = l, a.startSourceSpan = o, a.removeChild(s);
2355
+ }
2356
+ });
2357
+ }
2358
+ function Ws(e, t, r) {
2359
+ e.walk((n) => {
2360
+ if (n.children) for (let a = 0; a < n.children.length; a++) {
2361
+ let i = n.children[a];
2362
+ if (i.kind !== "text" && !t(i)) continue;
2363
+ i.kind !== "text" && (i.kind = "text", i.value = r(i));
2364
+ let s = i.prev;
2365
+ !s || s.kind !== "text" || (s.value += i.value, s.sourceSpan = new d(s.sourceSpan.start, i.sourceSpan.end), n.removeChild(i), a--);
2366
+ }
2367
+ });
2368
+ }
2369
+ function zs(e) {
2370
+ return Ws(e, (t) => t.kind === "cdata", (t) => `<![CDATA[${t.value}]]>`);
2371
+ }
2372
+ function $s(e) {
2373
+ let t = (r) => r.kind === "element" && r.attrs.length === 0 && r.children.length === 1 && r.firstChild.kind === "text" && !x.hasWhitespaceCharacter(r.children[0].value) && !r.firstChild.hasLeadingSpaces && !r.firstChild.hasTrailingSpaces && r.isLeadingSpaceSensitive && !r.hasLeadingSpaces && r.isTrailingSpaceSensitive && !r.hasTrailingSpaces && r.prev?.kind === "text" && r.next?.kind === "text";
2374
+ e.walk((r) => {
2375
+ if (r.children) for (let n = 0; n < r.children.length; n++) {
2376
+ let a = r.children[n];
2377
+ if (!t(a)) continue;
2378
+ let i = a.prev, s = a.next;
2379
+ 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);
2380
+ }
2381
+ });
2382
+ }
2383
+ function js(e, t) {
2384
+ if (t.parser === "html") return;
2385
+ let r = /\{\{(.+?)\}\}/su;
2386
+ e.walk((n) => {
2387
+ if (da(n, t)) for (let a of n.children) {
2388
+ if (a.kind !== "text") continue;
2389
+ let i = a.sourceSpan.start, s = null, o = a.value.split(r);
2390
+ for (let l = 0; l < o.length; l++, i = s) {
2391
+ let c = o[l];
2392
+ if (l % 2 === 0) {
2393
+ s = i.moveBy(c.length), c.length > 0 && n.insertChildBefore(a, { kind: "text", value: c, sourceSpan: new d(i, s) });
2394
+ continue;
2395
+ }
2396
+ 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)) }] });
2397
+ }
2398
+ n.removeChild(a);
2399
+ }
2400
+ });
2401
+ }
2402
+ function Xs(e, t) {
2403
+ e.walk((r) => {
2404
+ let n = r.$children;
2405
+ if (!n) return;
2406
+ if (n.length === 0 || n.length === 1 && n[0].kind === "text" && x.trim(n[0].value).length === 0) {
2407
+ r.hasDanglingSpaces = n.length > 0, r.$children = [];
2408
+ return;
2409
+ }
2410
+ let a = ma(r, t), i = yr(r);
2411
+ if (!a) for (let s = 0; s < n.length; s++) {
2412
+ let o = n[s];
2413
+ if (o.kind !== "text") continue;
2414
+ let { leadingWhitespace: l, text: c, trailingWhitespace: p } = pa(o.value), C = o.prev, g = o.next;
2415
+ c ? (o.value = c, o.sourceSpan = new d(o.sourceSpan.start.moveBy(l.length), o.sourceSpan.end.moveBy(-p.length)), l && (C && (C.hasTrailingSpaces = !0), o.hasLeadingSpaces = !0), p && (o.hasTrailingSpaces = !0, g && (g.hasLeadingSpaces = !0))) : (r.removeChild(o), s--, (l || p) && (C && (C.hasTrailingSpaces = !0), g && (g.hasLeadingSpaces = !0)));
2416
+ }
2417
+ r.isWhitespaceSensitive = a, r.isIndentationSensitive = i;
2418
+ });
2419
+ }
2420
+ function Gs(e) {
2421
+ e.walk((t) => {
2422
+ t.isSelfClosing = !t.children || t.kind === "element" && (t.tagDefinition.isVoid || t.endSourceSpan && t.startSourceSpan.start === t.endSourceSpan.start && t.startSourceSpan.end === t.endSourceSpan.end);
2423
+ });
2424
+ }
2425
+ function Ks(e, t) {
2426
+ e.walk((r) => {
2427
+ r.kind === "element" && (r.hasHtmComponentClosingTag = r.endSourceSpan && /^<\s*\/\s*\/\s*>$/u.test(t.originalText.slice(r.endSourceSpan.start.offset, r.endSourceSpan.end.offset)));
2428
+ });
2429
+ }
2430
+ function Ys(e, t) {
2431
+ e.walk((r) => {
2432
+ r.cssDisplay = Na(r, t);
2433
+ });
2434
+ }
2435
+ function Js(e, t) {
2436
+ e.walk((r) => {
2437
+ let { children: n } = r;
2438
+ if (n) {
2439
+ if (n.length === 0) {
2440
+ r.isDanglingSpaceSensitive = _a(r, t);
2441
+ return;
2442
+ }
2443
+ for (let a of n) a.isLeadingSpaceSensitive = ga(a, t), a.isTrailingSpaceSensitive = fa(a, t);
2444
+ for (let a = 0; a < n.length; a++) {
2445
+ let i = n[a];
2446
+ i.isLeadingSpaceSensitive = (a === 0 || i.prev.isTrailingSpaceSensitive) && i.isLeadingSpaceSensitive, i.isTrailingSpaceSensitive = (a === n.length - 1 || i.next.isLeadingSpaceSensitive) && i.isTrailingSpaceSensitive;
2447
+ }
2448
+ }
2449
+ });
2450
+ }
2451
+ var Qs = Hs;
2452
+ function Zs(e, t, r) {
2453
+ let { node: n } = e;
2454
+ switch (n.kind) {
2455
+ case "root":
2456
+ return t.__onHtmlRoot && t.__onHtmlRoot(n), [A(wt(e, t, r)), v];
2457
+ case "element":
2458
+ case "ieConditionalComment":
2459
+ return Ji(e, t, r);
2460
+ case "angularControlFlowBlock":
2461
+ return zi(e, t, r);
2462
+ case "angularControlFlowBlockParameters":
2463
+ return Gi(e, t, r);
2464
+ case "angularControlFlowBlockParameter":
2465
+ return x.trim(n.expression);
2466
+ case "angularLetDeclaration":
2467
+ return A(["@let ", A([n.id, " =", A(O([S, r("init")]))]), ";"]);
2468
+ case "angularLetDeclarationInitializer":
2469
+ return n.value;
2470
+ case "angularIcuExpression":
2471
+ return Ki(e, t, r);
2472
+ case "angularIcuCase":
2473
+ return Yi(e, t, r);
2474
+ case "ieConditionalStartComment":
2475
+ case "ieConditionalEndComment":
2476
+ return [me(n), de(n)];
2477
+ case "interpolation":
2478
+ return [me(n, t), ...e.map(r, "children"), de(n, t)];
2479
+ case "text": {
2480
+ if (n.parent.kind === "interpolation") {
2481
+ let o = /\n[^\S\n]*$/u, l = o.test(n.value), c = l ? n.value.replace(o, "") : n.value;
2482
+ return [L(c), l ? v : ""];
2483
+ }
2484
+ let a = $(n, t), i = Ir(n), s = W(n, t);
2485
+ return i[0] = [a, i[0]], i.push([i.pop(), s]), Er(i);
2486
+ }
2487
+ case "docType":
2488
+ return [A([me(n, t), " ", b(0, n.value.replace(/^html\b/iu, "html"), /\s+/gu, " ")]), de(n, t)];
2489
+ case "comment":
2490
+ return [$(n, t), L(t.originalText.slice(be(n), Ue(n))), W(n, t)];
2491
+ case "attribute": {
2492
+ if (n.value === null) return n.rawName;
2493
+ let a = Pr(n.value), i = Mr(n, t) ? "" : Nn(a, '"');
2494
+ return [n.rawName, "=", i, L(i === '"' ? b(0, a, '"', "&quot;") : b(0, a, "'", "&apos;")), i];
2495
+ }
2496
+ default:
2497
+ throw new Rn(n, "HTML");
2498
+ }
2499
+ }
2500
+ var eo = { features: { experimental_frontMatterSupport: { massageAstNode: !0, embed: !0, print: !0 } }, preprocess: Qs, print: Zs, insertPragma: Ui, massageAstNode: Hn, embed: xi, getVisitorKeys: Ii }, to = eo, ro = [{ 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 }], tr = { 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." } }, rr = "HTML", no = { bracketSameLine: tr.bracketSameLine, htmlWhitespaceSensitivity: { category: rr, 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: tr.singleAttributePerLine, vueIndentScriptAndStyle: { category: rr, type: "boolean", default: !1, description: "Indent script and style tags in Vue files." } }, ao = no, Zr = {};
2501
+ ur(Zr, { angular: () => Oo, html: () => No, lwc: () => Po, mjml: () => Lo, vue: () => Fo });
2502
+ function io(e, t) {
2503
+ let r = new SyntaxError(e + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2504
+ return Object.assign(r, t);
2505
+ }
2506
+ var so = io, oo = { canSelfClose: !0, normalizeTagName: !1, normalizeAttributeName: !1, allowHtmComponentClosingTags: !1, isTagNameCaseSensitive: !1, shouldParseFrontMatter: !0 };
2507
+ function en(e) {
2508
+ return { ...oo, ...e };
2509
+ }
2510
+ function tn(e) {
2511
+ let { canSelfClose: t, allowHtmComponentClosingTags: r, isTagNameCaseSensitive: n, shouldParseAsRawText: a, tokenizeAngularBlocks: i, tokenizeAngularLetDeclaration: s } = e;
2512
+ return { canSelfClose: t, allowHtmComponentClosingTags: r, isTagNameCaseSensitive: n, getTagContentType: a ? (...o) => a(...o) ? P.RAW_TEXT : void 0 : void 0, tokenizeAngularBlocks: i, tokenizeAngularLetDeclaration: s };
2513
+ }
2514
+ var Ze = /* @__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"])]]), uo = /* @__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"]), Fe = { attrs: !0, children: !0, cases: !0, expression: !0 }, nr = /* @__PURE__ */ new Set(["parent"]), J, ut, lt, lo = class he {
2515
+ constructor(t = {}) {
2516
+ on(this, J), xt(this, "kind"), xt(this, "parent");
2517
+ for (let r of /* @__PURE__ */ new Set([...nr, ...Object.keys(t)])) this.setProperty(r, t[r]);
2518
+ if (qe(t)) for (let r of Object.getOwnPropertySymbols(t)) this.setProperty(r, t[r]);
2519
+ }
2520
+ setProperty(t, r) {
2521
+ if (this[t] !== r) {
2522
+ if (t in Fe && (r = r.map((n) => this.createChild(n))), !nr.has(t)) {
2523
+ this[t] = r;
2524
+ return;
2525
+ }
2526
+ Object.defineProperty(this, t, { value: r, enumerable: !1, configurable: !0 });
2527
+ }
2528
+ }
2529
+ map(t) {
2530
+ let r;
2531
+ for (let n in Fe) {
2532
+ let a = this[n];
2533
+ if (a) {
2534
+ let i = po(a, (s) => s.map(t));
2535
+ r !== a && (r || (r = new he({ parent: this.parent })), r.setProperty(n, i));
2536
+ }
2537
+ }
2538
+ if (r) for (let n in this) n in Fe || (r[n] = this[n]);
2539
+ return t(r || this);
2540
+ }
2541
+ walk(t) {
2542
+ for (let r in Fe) {
2543
+ let n = this[r];
2544
+ if (n) for (let a = 0; a < n.length; a++) n[a].walk(t);
2545
+ }
2546
+ t(this);
2547
+ }
2548
+ createChild(t) {
2549
+ let r = t instanceof he ? t.clone() : new he(t);
2550
+ return r.setProperty("parent", this), r;
2551
+ }
2552
+ insertChildBefore(t, r) {
2553
+ let n = this.$children;
2554
+ n.splice(n.indexOf(t), 0, this.createChild(r));
2555
+ }
2556
+ removeChild(t) {
2557
+ let r = this.$children;
2558
+ r.splice(r.indexOf(t), 1);
2559
+ }
2560
+ replaceChild(t, r) {
2561
+ let n = this.$children;
2562
+ n[n.indexOf(t)] = this.createChild(r);
2563
+ }
2564
+ clone() {
2565
+ return new he(this);
2566
+ }
2567
+ get $children() {
2568
+ return this[Ne(this, J, ut)];
2569
+ }
2570
+ set $children(t) {
2571
+ this[Ne(this, J, ut)] = t;
2572
+ }
2573
+ get firstChild() {
2574
+ return this.$children?.[0];
2575
+ }
2576
+ get lastChild() {
2577
+ return Z(1, this.$children, -1);
2578
+ }
2579
+ get prev() {
2580
+ let t = Ne(this, J, lt);
2581
+ return t[t.indexOf(this) - 1];
2582
+ }
2583
+ get next() {
2584
+ let t = Ne(this, J, lt);
2585
+ return t[t.indexOf(this) + 1];
2586
+ }
2587
+ get rawName() {
2588
+ return this.hasExplicitNamespace ? this.fullName : this.name;
2589
+ }
2590
+ get fullName() {
2591
+ return this.namespace ? this.namespace + ":" + this.name : this.name;
2592
+ }
2593
+ get attrMap() {
2594
+ return Object.fromEntries(this.attrs.map((t) => [t.fullName, t.value]));
2595
+ }
2596
+ };
2597
+ J = /* @__PURE__ */ new WeakSet(), ut = function() {
2598
+ return this.kind === "angularIcuCase" ? "expression" : this.kind === "angularIcuExpression" ? "cases" : "children";
2599
+ }, lt = function() {
2600
+ return this.parent?.$children ?? [];
2601
+ };
2602
+ var co = lo;
2603
+ function po(e, t) {
2604
+ let r = e.map(t);
2605
+ return r.some((n, a) => n !== e[a]) ? r : e;
2606
+ }
2607
+ var ho = [{ regex: /^(?<openingTagSuffix>\[if(?<condition>[^\]]*)\]>)(?<data>.*?)<!\s*\[endif\]$/su, parse: go }, { regex: /^\[if(?<condition>[^\]]*)\]><!$/u, parse: fo }, { regex: /^<!\s*\[endif\]$/u, parse: _o }];
2608
+ function mo(e, t) {
2609
+ if (e.value) for (let { regex: r, parse: n } of ho) {
2610
+ let a = e.value.match(r);
2611
+ if (a) return n(e, a, t);
2612
+ }
2613
+ return null;
2614
+ }
2615
+ function go(e, t, r) {
2616
+ 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] = (() => {
2617
+ try {
2618
+ return [!0, r(i, o).children];
2619
+ } catch {
2620
+ return [!1, [{ kind: "text", value: i, sourceSpan: new d(o, l) }]];
2621
+ }
2622
+ })();
2623
+ return { kind: "ieConditionalComment", complete: c, children: p, condition: b(0, a.trim(), /\s+/gu, " "), sourceSpan: e.sourceSpan, startSourceSpan: new d(e.sourceSpan.start, o), endSourceSpan: new d(l, e.sourceSpan.end) };
2624
+ }
2625
+ function fo(e, t) {
2626
+ let { condition: r } = t.groups;
2627
+ return { kind: "ieConditionalStartComment", condition: b(0, r.trim(), /\s+/gu, " "), sourceSpan: e.sourceSpan };
2628
+ }
2629
+ function _o(e) {
2630
+ return { kind: "ieConditionalEndComment", sourceSpan: e.sourceSpan };
2631
+ }
2632
+ var Co = class extends Cs {
2633
+ visitExpansionCase(e, t) {
2634
+ t.parseOptions.name === "angular" && this.visitChildren(t, (r) => {
2635
+ r(e.expression);
2636
+ });
2637
+ }
2638
+ visit(e, { parseOptions: t }) {
2639
+ To(e), ko(e, t), wo(e, t), bo(e);
2640
+ }
2641
+ };
2642
+ function Eo(e, t, r, n) {
2643
+ Kr(new Co(), e.children, { parseOptions: r }), t && e.children.unshift(t);
2644
+ let a = new co(e);
2645
+ return a.walk((i) => {
2646
+ if (i.kind === "comment") {
2647
+ let s = mo(i, n);
2648
+ s && i.parent.replaceChild(i, s);
2649
+ }
2650
+ vo(i), So(i), Ao(i);
2651
+ }), a;
2652
+ }
2653
+ function vo(e) {
2654
+ if (e.kind === "block") {
2655
+ if (e.name = b(0, e.name.toLowerCase(), /\s+/gu, " ").trim(), e.kind = "angularControlFlowBlock", !Et(e.parameters)) {
2656
+ delete e.parameters;
2657
+ return;
2658
+ }
2659
+ for (let t of e.parameters) t.kind = "angularControlFlowBlockParameter";
2660
+ e.parameters = { kind: "angularControlFlowBlockParameters", children: e.parameters, sourceSpan: new d(e.parameters[0].sourceSpan.start, Z(0, e.parameters, -1).sourceSpan.end) };
2661
+ }
2662
+ }
2663
+ function So(e) {
2664
+ 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);
2665
+ }
2666
+ function Ao(e) {
2667
+ e.kind === "expansion" && (e.kind = "angularIcuExpression"), e.kind === "expansionCase" && (e.kind = "angularIcuCase");
2668
+ }
2669
+ function ar(e, t) {
2670
+ let r = e.toLowerCase();
2671
+ return t(r) ? r : e;
2672
+ }
2673
+ function ir(e) {
2674
+ 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;
2675
+ e.name = a, e.namespace = t, e.hasExplicitNamespace = n;
2676
+ }
2677
+ function To(e) {
2678
+ switch (e.kind) {
2679
+ case "element":
2680
+ ir(e);
2681
+ for (let t of e.attrs) ir(t), t.valueSpan ? (t.value = t.valueSpan.toString(), /["']/u.test(t.value[0]) && (t.value = t.value.slice(1, -1))) : t.value = null;
2682
+ break;
2683
+ case "comment":
2684
+ e.value = e.sourceSpan.toString().slice(4, -3);
2685
+ break;
2686
+ case "text":
2687
+ e.value = e.sourceSpan.toString();
2688
+ break;
2689
+ }
2690
+ }
2691
+ function ko(e, t) {
2692
+ if (e.kind === "element") {
2693
+ let r = rt(t.isTagNameCaseSensitive ? e.name : e.name.toLowerCase());
2694
+ !e.namespace || e.namespace === r.implicitNamespacePrefix || Te(e) ? e.tagDefinition = r : e.tagDefinition = rt("");
2695
+ }
2696
+ }
2697
+ function bo(e) {
2698
+ e.sourceSpan && e.endSourceSpan && (e.sourceSpan = new d(e.sourceSpan.start, e.endSourceSpan.end));
2699
+ }
2700
+ function wo(e, t) {
2701
+ if (e.kind === "element" && (t.normalizeTagName && (!e.namespace || e.namespace === e.tagDefinition.implicitNamespacePrefix || Te(e)) && (e.name = ar(e.name, (r) => uo.has(r))), t.normalizeAttributeName)) for (let r of e.attrs) r.namespace || (r.name = ar(r.name, (n) => Ze.has(e.name) && (Ze.get("*").has(n) || Ze.get(e.name).has(n))));
2702
+ }
2703
+ function rn(e, t) {
2704
+ let { rootNodes: r, errors: n } = ot(e, tn(t));
2705
+ return n.length > 0 && ct(n[0]), { parseOptions: t, rootNodes: r };
2706
+ }
2707
+ function yo(e, t) {
2708
+ let r = tn(t), { rootNodes: n, errors: a } = ot(e, r);
2709
+ if (n.some((l) => l.kind === "docType" && l.value === "html" || l.kind === "element" && l.name.toLowerCase() === "html")) return rn(e, Dt);
2710
+ let i, s = () => i ?? (i = ot(e, { ...r, getTagContentType: void 0 })), o = (l) => {
2711
+ let { offset: c } = l.startSourceSpan.start;
2712
+ return s().rootNodes.find((p) => p.kind === "element" && p.startSourceSpan.start.offset === c) ?? l;
2713
+ };
2714
+ for (let [l, c] of n.entries()) if (c.kind === "element") {
2715
+ if (c.isVoid) a = s().errors, n[l] = o(c);
2716
+ else if (Do(c)) {
2717
+ let { endSourceSpan: p, startSourceSpan: C } = c, g = s().errors.find((h) => h.span.start.offset > C.start.offset && h.span.start.offset < p.end.offset);
2718
+ g && ct(g), n[l] = o(c);
2719
+ }
2720
+ }
2721
+ return a.length > 0 && ct(a[0]), { parseOptions: t, rootNodes: n };
2722
+ }
2723
+ function Do(e) {
2724
+ if (e.kind !== "element" || e.name !== "template") return !1;
2725
+ let t = e.attrs.find((r) => r.name === "lang")?.value;
2726
+ return !t || t === "html";
2727
+ }
2728
+ function ct(e) {
2729
+ let { msg: t, span: { start: r, end: n } } = e;
2730
+ throw so(t, { loc: { start: { line: r.line + 1, column: r.col + 1 }, end: { line: n.line + 1, column: n.col + 1 } }, cause: e });
2731
+ }
2732
+ function xo(e, t, r, n, a, i) {
2733
+ let { offset: s } = n, o = b(0, t.slice(0, s), /[^\n]/gu, " ") + r, l = nn(o, e, { ...a, shouldParseFrontMatter: !1 }, i);
2734
+ l.sourceSpan = new d(n, Z(0, l.children, -1).sourceSpan.end);
2735
+ let c = l.children[0];
2736
+ 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;
2737
+ }
2738
+ function nn(e, t, r, n = {}) {
2739
+ let { frontMatter: a, content: i } = r.shouldParseFrontMatter ? sa(e) : { content: e }, s = new Gr(e, n.filepath), o = new nt(s, 0, 0, 0), l = o.moveBy(e.length), { parseOptions: c, rootNodes: p } = t(i, r), C = { kind: "root", sourceSpan: new d(o, l), children: p }, g;
2740
+ if (a) {
2741
+ let [h, f] = [a.start, a.end].map((E) => new nt(s, E.index, E.line - 1, E.column));
2742
+ g = { ...a, kind: "frontMatter", sourceSpan: new d(h, f) };
2743
+ }
2744
+ return Eo(C, g, c, (h, f) => xo(t, e, h, f, c, n));
2745
+ }
2746
+ var Dt = en({ name: "html", normalizeTagName: !0, normalizeAttributeName: !0, allowHtmComponentClosingTags: !0 });
2747
+ function De(e) {
2748
+ let t = en(e), r = t.name === "vue" ? yo : rn;
2749
+ return { parse: (n, a) => nn(n, r, t, a), hasPragma: Hi, hasIgnorePragma: Vi, astFormat: "html", locStart: be, locEnd: Ue };
2750
+ }
2751
+ var No = De(Dt), Bo = /* @__PURE__ */ new Set(["mj-style", "mj-raw"]), Lo = De({ ...Dt, name: "mjml", shouldParseAsRawText: (e) => Bo.has(e) }), Oo = De({ name: "angular", tokenizeAngularBlocks: !0, tokenizeAngularLetDeclaration: !0 }), Fo = De({ name: "vue", isTagNameCaseSensitive: !0, shouldParseAsRawText(e, t, r, n) {
2752
+ return e.toLowerCase() !== "html" && !r && (e !== "template" || n.some(({ name: a, value: i }) => a === "lang" && i !== "html" && i !== "" && i !== void 0));
2753
+ } }), Po = De({ name: "lwc", canSelfClose: !1 }), Io = { html: to };
2754
+ export {
2755
+ un as default,
2756
+ ro as languages,
2757
+ ao as options,
2758
+ Zr as parsers,
2759
+ Io as printers
2760
+ };