@prismicio/cli 0.0.1 → 0.0.2-alpha.xru-fix-npx-install-warnings.2

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