eddyter 1.3.61 → 1.3.62

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