@rexeus/typeweaver 0.0.4 → 0.1.1

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,48 +1,48 @@
1
- var Ws = Object.defineProperty;
2
- var Or = (e5) => {
1
+ var zs = Object.defineProperty;
2
+ var _r = (e5) => {
3
3
  throw TypeError(e5);
4
4
  };
5
- var Fe = (e5, t) => {
6
- for (var r in t) Ws(e5, r, { get: t[r], enumerable: true });
5
+ var Ve = (e5, t) => {
6
+ for (var r in t) zs(e5, r, { get: t[r], enumerable: true });
7
7
  };
8
- var Br = (e5, t, r) => t.has(e5) || Or("Cannot " + r);
9
- var I = (e5, t, r) => (Br(e5, t, "read from private field"), t.get(e5)), Lt = (e5, t, r) => t.has(e5) ? Or("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e5) : t.set(e5, r), Y = (e5, t, r, s) => (Br(e5, t, "write to private field"), t.set(e5, r), r);
10
- var Pr = {};
11
- Fe(Pr, { languages: () => ps, parsers: () => xr, printers: () => wi });
12
- var js = (e5, t, r, s) => {
8
+ var Or = (e5, t, r) => t.has(e5) || _r("Cannot " + r);
9
+ var I = (e5, t, r) => (Or(e5, t, "read from private field"), t.get(e5)), Lt = (e5, t, r) => t.has(e5) ? _r("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e5) : t.set(e5, r), Y = (e5, t, r, s) => (Or(e5, t, "write to private field"), t.set(e5, r), r);
10
+ var xr = {};
11
+ Ve(xr, { languages: () => hs, parsers: () => Cr, printers: () => vi });
12
+ var Ys = (e5, t, r, s) => {
13
13
  if (!(e5 && t == null)) return t.replaceAll ? t.replaceAll(r, s) : r.global ? t.replace(r, s) : t.split(r).join(s);
14
- }, He = js;
14
+ }, He = Ys;
15
15
  var Dt = "string", Gt = "array", Kt = "cursor", _t = "indent", Ot = "align", Wt = "trim", Bt = "group", It = "fill", bt = "if-break", jt = "indent-if-break", Qt = "line-suffix", Jt = "line-suffix-boundary", j = "line", $t = "label", Rt = "break-parent", fe = /* @__PURE__ */ new Set([Kt, _t, Ot, Wt, Bt, It, bt, jt, Qt, Jt, j, $t, Rt]);
16
- var Qs = (e5, t, r) => {
16
+ var Gs = (e5, t, r) => {
17
17
  if (!(e5 && t == null)) return Array.isArray(t) || typeof t == "string" ? t[r < 0 ? t.length + r : r] : t.at(r);
18
- }, G = Qs;
19
- function Js(e5) {
18
+ }, G = Gs;
19
+ function Ks(e5) {
20
20
  if (typeof e5 == "string") return Dt;
21
21
  if (Array.isArray(e5)) return Gt;
22
22
  if (!e5) return;
23
23
  let { type: t } = e5;
24
24
  if (fe.has(t)) return t;
25
25
  }
26
- var qt = Js;
27
- var $s = (e5) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e5);
28
- function Xs(e5) {
26
+ var qt = Ks;
27
+ var Ws = (e5) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e5);
28
+ function js(e5) {
29
29
  let t = e5 === null ? "null" : typeof e5;
30
30
  if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
31
31
  Expected it to be 'string' or 'object'.`;
32
32
  if (qt(e5)) throw new Error("doc is valid.");
33
33
  let r = Object.prototype.toString.call(e5);
34
34
  if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
35
- let s = $s([...fe].map((n) => `'${n}'`));
35
+ let s = Ws([...fe].map((n) => `'${n}'`));
36
36
  return `Unexpected doc.type '${e5.type}'.
37
37
  Expected it to be ${s}.`;
38
38
  }
39
- var Ue = class extends Error {
39
+ var Fe = class extends Error {
40
40
  name = "InvalidDocError";
41
41
  constructor(t) {
42
- super(Xs(t)), this.doc = t;
42
+ super(js(t)), this.doc = t;
43
43
  }
44
- }, Me = Ue;
45
- function tn(e5, t) {
44
+ }, Ue = Fe;
45
+ function Js(e5, t) {
46
46
  if (typeof e5 == "string") return t(e5);
47
47
  let r = /* @__PURE__ */ new Map();
48
48
  return s(e5);
@@ -77,53 +77,53 @@ function tn(e5, t) {
77
77
  case Rt:
78
78
  return t(i);
79
79
  default:
80
- throw new Me(i);
80
+ throw new Ue(i);
81
81
  }
82
82
  }
83
83
  }
84
- function Ir(e5, t = Rr) {
85
- return tn(e5, (r) => typeof r == "string" ? yt(t, r.split(`
84
+ function Br(e5, t = Ir) {
85
+ return Js(e5, (r) => typeof r == "string" ? yt(t, r.split(`
86
86
  `)) : r);
87
87
  }
88
- var ze = () => {
89
- }, Ye = ze;
88
+ var Me = () => {
89
+ }, ze = Me;
90
90
  function B(e5) {
91
91
  return { type: _t, contents: e5 };
92
92
  }
93
- function en(e5, t) {
93
+ function $s(e5, t) {
94
94
  return { type: Ot, contents: t, n: e5 };
95
95
  }
96
96
  function R(e5, t = {}) {
97
- return Ye(t.expandedStates), { type: Bt, id: t.id, contents: e5, break: !!t.shouldBreak, expandedStates: t.expandedStates };
97
+ return ze(t.expandedStates), { type: Bt, id: t.id, contents: e5, break: !!t.shouldBreak, expandedStates: t.expandedStates };
98
98
  }
99
99
  function Xt(e5) {
100
- return en(-1, e5);
100
+ return $s(-1, e5);
101
101
  }
102
- function Ge(e5) {
102
+ function Ye(e5) {
103
103
  return { type: It, parts: e5 };
104
104
  }
105
- function Ke(e5, t = "", r = {}) {
105
+ function Ge(e5, t = "", r = {}) {
106
106
  return { type: bt, breakContents: e5, flatContents: t, groupId: r.groupId };
107
107
  }
108
- var Vr = { type: Rt };
109
- var rn = { type: j, hard: true }, sn = { type: j, hard: true, literal: true }, L = { type: j }, H = { type: j, soft: true }, tt = [rn, Vr], Rr = [sn, Vr];
108
+ var qr = { type: Rt };
109
+ var Xs = { type: j, hard: true }, Zs = { type: j, hard: true, literal: true }, L = { type: j }, F = { type: j, soft: true }, tt = [Xs, qr], Ir = [Zs, qr];
110
110
  function yt(e5, t) {
111
111
  let r = [];
112
112
  for (let s = 0; s < t.length; s++) s !== 0 && r.push(e5), r.push(t[s]);
113
113
  return r;
114
114
  }
115
- var me = "'", Fr = '"';
116
- function nn(e5, t) {
117
- let r = t === true || t === me ? me : Fr, s = r === me ? Fr : me, n = 0, i = 0;
115
+ var me = "'", Vr = '"';
116
+ function tn(e5, t) {
117
+ let r = t === true || t === me ? me : Vr, s = r === me ? Vr : me, n = 0, i = 0;
118
118
  for (let a of e5) a === r ? n++ : a === s && i++;
119
119
  return n > i ? s : r;
120
120
  }
121
- var de = nn;
122
- function We(e5) {
121
+ var de = tn;
122
+ function Ke(e5) {
123
123
  if (typeof e5 != "string") throw new TypeError("Expected a string");
124
124
  return e5.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
125
125
  }
126
- var z, je = class {
126
+ var z, We = class {
127
127
  constructor(t) {
128
128
  Lt(this, z);
129
129
  Y(this, z, new Set(t));
@@ -164,7 +164,7 @@ var z, je = class {
164
164
  return this.trimEnd(this.trimStart(t));
165
165
  }
166
166
  split(t, r = false) {
167
- let s = `[${We([...I(this, z)].join(""))}]+`, n = new RegExp(r ? `(${s})` : s, "u");
167
+ let s = `[${Ke([...I(this, z)].join(""))}]+`, n = new RegExp(r ? `(${s})` : s, "u");
168
168
  return t.split(n);
169
169
  }
170
170
  hasWhitespaceCharacter(t) {
@@ -181,20 +181,20 @@ var z, je = class {
181
181
  }
182
182
  };
183
183
  z = /* @__PURE__ */ new WeakMap();
184
- var Hr = je;
185
- var an = [" ", `
186
- `, "\f", "\r", " "], on = new Hr(an), K = on;
187
- function ln(e5) {
184
+ var Hr = We;
185
+ var en = [" ", `
186
+ `, "\f", "\r", " "], rn = new Hr(en), K = rn;
187
+ function sn(e5) {
188
188
  return Array.isArray(e5) && e5.length > 0;
189
189
  }
190
- var Zt = ln;
191
- var Qe = class extends Error {
190
+ var Zt = sn;
191
+ var je = class extends Error {
192
192
  name = "UnexpectedNodeError";
193
193
  constructor(t, r, s = "type") {
194
194
  super(`Unexpected ${r} node ${s}: ${JSON.stringify(t[s])}.`), this.node = t;
195
195
  }
196
- }, Ur = Qe;
197
- function Mr(e5, t, r) {
196
+ }, Fr = je;
197
+ function Ur(e5, t, r) {
198
198
  if (e5.type === "TextNode") {
199
199
  let s = e5.chars.trim();
200
200
  if (!s) return null;
@@ -202,9 +202,9 @@ function Mr(e5, t, r) {
202
202
  }
203
203
  e5.type === "ElementNode" && (delete t.startTag, delete t.openTag, delete t.parts, delete t.endTag, delete t.closeTag, delete t.nameNode, delete t.body, delete t.blockParamNodes, delete t.params, delete t.path), e5.type === "Block" && (delete t.blockParamNodes, delete t.params), e5.type === "AttrNode" && e5.name.toLowerCase() === "class" && delete t.value, e5.type === "PathExpression" && (t.head = e5.head.original);
204
204
  }
205
- Mr.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]);
206
- var zr = Mr;
207
- function cn(e5) {
205
+ Ur.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]);
206
+ var Mr = Ur;
207
+ function nn(e5) {
208
208
  let { node: t } = e5;
209
209
  if (t.type !== "TextNode") return;
210
210
  let { parent: r } = e5;
@@ -212,10 +212,10 @@ function cn(e5) {
212
212
  let s = r.attributes.find((n) => n.type === "AttrNode" && n.name === "lang");
213
213
  if (!(s && !(s.value.type === "TextNode" && (s.value.chars === "" || s.value.chars === "css")))) return async (n) => {
214
214
  let i = await n(t.chars, { parser: "css" });
215
- return i ? [tt, i, Xt(H)] : [];
215
+ return i ? [tt, i, Xt(F)] : [];
216
216
  };
217
217
  }
218
- var Yr = cn;
218
+ var zr = nn;
219
219
  var te = null;
220
220
  function ee(e5) {
221
221
  if (te !== null && typeof te.property) {
@@ -224,13 +224,13 @@ function ee(e5) {
224
224
  }
225
225
  return te = ee.prototype = e5 ?? /* @__PURE__ */ Object.create(null), new ee();
226
226
  }
227
- var un = 10;
228
- for (let e5 = 0; e5 <= un; e5++) ee();
229
- function Je(e5) {
227
+ var an = 10;
228
+ for (let e5 = 0; e5 <= an; e5++) ee();
229
+ function Qe(e5) {
230
230
  return ee(e5);
231
231
  }
232
- function hn(e5, t = "type") {
233
- Je(e5);
232
+ function on(e5, t = "type") {
233
+ Qe(e5);
234
234
  function r(s) {
235
235
  let n = s[t], i = e5[n];
236
236
  if (!Array.isArray(i)) throw Object.assign(new Error(`Missing visitor keys for '${n}'.`), { node: s });
@@ -238,39 +238,39 @@ function hn(e5, t = "type") {
238
238
  }
239
239
  return r;
240
240
  }
241
- var Gr = hn;
242
- var Kr = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] };
243
- var pn = Gr(Kr), Wr = pn;
241
+ var Yr = on;
242
+ var Gr = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] };
243
+ var ln = Yr(Gr), Kr = ln;
244
244
  function St(e5) {
245
245
  return e5.loc.start.offset;
246
246
  }
247
247
  function re(e5) {
248
248
  return e5.loc.end.offset;
249
249
  }
250
- var jr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
251
- function Jr(e5) {
250
+ var Wr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
251
+ function Qr(e5) {
252
252
  return e5.toUpperCase() === e5;
253
253
  }
254
- function fn(e5) {
255
- return e5.type === "ElementNode" && typeof e5.tag == "string" && !e5.tag.startsWith(":") && (Jr(e5.tag[0]) || e5.tag.includes("."));
254
+ function cn(e5) {
255
+ return e5.type === "ElementNode" && typeof e5.tag == "string" && !e5.tag.startsWith(":") && (Qr(e5.tag[0]) || e5.tag.includes("."));
256
256
  }
257
- function mn(e5) {
258
- return jr.has(e5.toLowerCase()) && !Jr(e5[0]);
257
+ function un(e5) {
258
+ return Wr.has(e5.toLowerCase()) && !Qr(e5[0]);
259
259
  }
260
- function $e(e5) {
261
- return e5.selfClosing === true || mn(e5.tag) || fn(e5) && e5.children.every((t) => ge(t));
260
+ function Je(e5) {
261
+ return e5.selfClosing === true || un(e5.tag) || cn(e5) && e5.children.every((t) => ge(t));
262
262
  }
263
263
  function ge(e5) {
264
264
  return e5.type === "TextNode" && !/\S/u.test(e5.chars);
265
265
  }
266
- function Qr(e5) {
266
+ function jr(e5) {
267
267
  return (e5 == null ? void 0 : e5.type) === "MustacheCommentStatement" && typeof e5.value == "string" && e5.value.trim() === "prettier-ignore";
268
268
  }
269
- function $r(e5) {
270
- return Qr(e5.node) || e5.isInArray && (e5.key === "children" || e5.key === "body" || e5.key === "parts") && Qr(e5.siblings[e5.index - 2]);
269
+ function Jr(e5) {
270
+ return jr(e5.node) || e5.isInArray && (e5.key === "children" || e5.key === "body" || e5.key === "parts") && jr(e5.siblings[e5.index - 2]);
271
271
  }
272
- var is = 2;
273
- function dn(e5, t, r) {
272
+ var ns = 2;
273
+ function hn(e5, t, r) {
274
274
  var n, i, a, o, c, h, p, m, S;
275
275
  let { node: s } = e5;
276
276
  switch (s.type) {
@@ -279,23 +279,23 @@ function dn(e5, t, r) {
279
279
  case "Template":
280
280
  return R(e5.map(r, "body"));
281
281
  case "ElementNode": {
282
- let y = R(bn(e5, r)), E = t.htmlWhitespaceSensitivity === "ignore" && ((n = e5.next) == null ? void 0 : n.type) === "ElementNode" ? H : "";
283
- if ($e(s)) return [y, E];
282
+ let y = R(fn(e5, r)), v = t.htmlWhitespaceSensitivity === "ignore" && ((n = e5.next) == null ? void 0 : n.type) === "ElementNode" ? F : "";
283
+ if (Je(s)) return [y, v];
284
284
  let C = ["</", s.tag, ">"];
285
- return s.children.length === 0 ? [y, B(C), E] : t.htmlWhitespaceSensitivity === "ignore" ? [y, B(Xr(e5, t, r)), tt, B(C), E] : [y, B(R(Xr(e5, t, r))), B(C), E];
285
+ return s.children.length === 0 ? [y, B(C), v] : t.htmlWhitespaceSensitivity === "ignore" ? [y, B($r(e5, t, r)), tt, B(C), v] : [y, B(R($r(e5, t, r))), B(C), v];
286
286
  }
287
287
  case "BlockStatement":
288
- return wn(e5) ? [Tn(e5, r), es(e5, r, t), rs(e5, r, t)] : [vn(e5, r), R([es(e5, r, t), rs(e5, r, t), Nn(e5, r, t)])];
288
+ return kn(e5) ? [Sn(e5, r), ts(e5, t, r), es(e5, t, r)] : [bn(e5, r), R([ts(e5, t, r), es(e5, t, r), En(e5, t, r)])];
289
289
  case "ElementModifierStatement":
290
- return R(["{{", ns(e5, r), "}}"]);
290
+ return R(["{{", ss(e5, r), "}}"]);
291
291
  case "MustacheStatement":
292
- return R([be(s), ns(e5, r), ye(s)]);
292
+ return R([be(s), ss(e5, r), ye(s)]);
293
293
  case "SubExpression":
294
- return R(["(", _n(e5, r), H, ")"]);
294
+ return R(["(", Pn(e5, r), F, ")"]);
295
295
  case "AttrNode": {
296
- let { name: y, value: E } = s, C = E.type === "TextNode";
297
- if (C && E.chars === "" && St(E) === re(E)) return y;
298
- let w = C ? de(E.chars, t.singleQuote) : E.type === "ConcatStatement" ? de(E.parts.map((q) => q.type === "TextNode" ? q.chars : "").join(""), t.singleQuote) : "", U = r("value");
296
+ let { name: y, value: v } = s, C = v.type === "TextNode";
297
+ if (C && v.chars === "" && St(v) === re(v)) return y;
298
+ let w = C ? de(v.chars, t.singleQuote) : v.type === "ConcatStatement" ? de(v.parts.map((q) => q.type === "TextNode" ? q.chars : "").join(""), t.singleQuote) : "", U = r("value");
299
299
  return [y, "=", w, y === "class" && w ? R(B(U)) : U, w];
300
300
  }
301
301
  case "ConcatStatement":
@@ -306,13 +306,13 @@ function dn(e5, t, r) {
306
306
  return [s.key, "=", r("value")];
307
307
  case "TextNode": {
308
308
  if (e5.parent.tag === "pre" || e5.parent.tag === "style") return s.chars;
309
- let y = He(false, s.chars, "{{", String.raw`\{{`), E = xn(e5);
310
- if (E) {
311
- if (E === "class") {
309
+ let y = He(false, s.chars, "{{", String.raw`\{{`), v = wn(e5);
310
+ if (v) {
311
+ if (v === "class") {
312
312
  let X = y.trim().split(/\s+/u).join(" "), rt = false, V = false;
313
313
  return e5.parent.type === "ConcatStatement" && (((i = e5.previous) == null ? void 0 : i.type) === "MustacheStatement" && /^\s/u.test(y) && (rt = true), ((a = e5.next) == null ? void 0 : a.type) === "MustacheStatement" && /\s$/u.test(y) && X !== "" && (V = true)), [rt ? L : "", X, V ? L : ""];
314
314
  }
315
- return Ir(y);
315
+ return Br(y);
316
316
  }
317
317
  let C = K.isWhitespaceOnly(y), { isFirst: x, isLast: w } = e5;
318
318
  if (t.htmlWhitespaceSensitivity !== "ignore") {
@@ -328,35 +328,35 @@ function dn(e5, t, r) {
328
328
  let A = Vt(V);
329
329
  A && (xt = se(A)), y = y.slice(V.length);
330
330
  }
331
- let F = K.getTrailingWhitespace(y), st = [];
332
- if (F) {
331
+ let H = K.getTrailingWhitespace(y), st = [];
332
+ if (H) {
333
333
  if (!X) {
334
334
  st = [L];
335
- let A = Vt(F);
335
+ let A = Vt(H);
336
336
  A && (st = se(A)), w && (st = st.map((nt) => Xt(nt)));
337
337
  }
338
- y = y.slice(0, -F.length);
338
+ y = y.slice(0, -H.length);
339
339
  }
340
- return [...xt, Ge(ss(y)), ...st];
340
+ return [...xt, Ye(rs(y)), ...st];
341
341
  }
342
- let U = Vt(y), q = Pn(y), $ = An(y);
342
+ let U = Vt(y), q = Tn(y), $ = Nn(y);
343
343
  if ((x || w) && C && (e5.parent.type === "Block" || e5.parent.type === "ElementNode" || e5.parent.type === "Template")) return "";
344
- C && U ? (q = Math.min(U, is), $ = 0) : ((((o = e5.next) == null ? void 0 : o.type) === "BlockStatement" || ((c = e5.next) == null ? void 0 : c.type) === "ElementNode") && ($ = Math.max($, 1)), (((h = e5.previous) == null ? void 0 : h.type) === "BlockStatement" || ((p = e5.previous) == null ? void 0 : p.type) === "ElementNode") && (q = Math.max(q, 1)));
344
+ C && U ? (q = Math.min(U, ns), $ = 0) : ((((o = e5.next) == null ? void 0 : o.type) === "BlockStatement" || ((c = e5.next) == null ? void 0 : c.type) === "ElementNode") && ($ = Math.max($, 1)), (((h = e5.previous) == null ? void 0 : h.type) === "BlockStatement" || ((p = e5.previous) == null ? void 0 : p.type) === "ElementNode") && (q = Math.max(q, 1)));
345
345
  let Nt = "", Ct = "";
346
- return $ === 0 && ((m = e5.next) == null ? void 0 : m.type) === "MustacheStatement" && (Ct = " "), q === 0 && ((S = e5.previous) == null ? void 0 : S.type) === "MustacheStatement" && (Nt = " "), x && (q = 0, Nt = ""), w && ($ = 0, Ct = ""), K.hasLeadingWhitespace(y) && (y = Nt + K.trimStart(y)), K.hasTrailingWhitespace(y) && (y = K.trimEnd(y) + Ct), [...se(q), Ge(ss(y)), ...se($)];
346
+ return $ === 0 && ((m = e5.next) == null ? void 0 : m.type) === "MustacheStatement" && (Ct = " "), q === 0 && ((S = e5.previous) == null ? void 0 : S.type) === "MustacheStatement" && (Nt = " "), x && (q = 0, Nt = ""), w && ($ = 0, Ct = ""), K.hasLeadingWhitespace(y) && (y = Nt + K.trimStart(y)), K.hasTrailingWhitespace(y) && (y = K.trimEnd(y) + Ct), [...se(q), Ye(rs(y)), ...se($)];
347
347
  }
348
348
  case "MustacheCommentStatement": {
349
- let y = St(s), E = re(s), C = t.originalText.charAt(y + 2) === "~", x = t.originalText.charAt(E - 3) === "~", w = s.value.includes("}}") ? "--" : "";
349
+ let y = St(s), v = re(s), C = t.originalText.charAt(y + 2) === "~", x = t.originalText.charAt(v - 3) === "~", w = s.value.includes("}}") ? "--" : "";
350
350
  return ["{{", C ? "~" : "", "!", w, s.value, w, x ? "~" : "", "}}"];
351
351
  }
352
352
  case "PathExpression":
353
- return Rn(s);
353
+ return _n(s);
354
354
  case "BooleanLiteral":
355
355
  return String(s.value);
356
356
  case "CommentStatement":
357
357
  return ["<!--", s.value, "-->"];
358
358
  case "StringLiteral":
359
- return Ln(e5, t);
359
+ return Cn(e5, t);
360
360
  case "NumberLiteral":
361
361
  return String(s.value);
362
362
  case "UndefinedLiteral":
@@ -367,29 +367,29 @@ function dn(e5, t, r) {
367
367
  case "VarHead":
368
368
  case "ThisHead":
369
369
  default:
370
- throw new Ur(s, "Handlebars");
370
+ throw new Fr(s, "Handlebars");
371
371
  }
372
372
  }
373
- function gn(e5, t) {
373
+ function pn(e5, t) {
374
374
  return St(e5) - St(t);
375
375
  }
376
- function bn(e5, t) {
377
- let { node: r } = e5, s = ["attributes", "modifiers", "comments"].filter((i) => Zt(r[i])), n = s.flatMap((i) => r[i]).sort(gn);
376
+ function fn(e5, t) {
377
+ let { node: r } = e5, s = ["attributes", "modifiers", "comments"].filter((i) => Zt(r[i])), n = s.flatMap((i) => r[i]).sort(pn);
378
378
  for (let i of s) e5.each(({ node: a }) => {
379
379
  let o = n.indexOf(a);
380
380
  n.splice(o, 1, [L, t()]);
381
381
  }, i);
382
- return Zt(r.blockParams) && n.push(L, Ze(r)), ["<", r.tag, B(n), yn(r)];
382
+ return Zt(r.blockParams) && n.push(L, Xe(r)), ["<", r.tag, B(n), mn(r)];
383
383
  }
384
- function Xr(e5, t, r) {
384
+ function $r(e5, t, r) {
385
385
  let { node: s } = e5, n = s.children.every((i) => ge(i));
386
386
  return t.htmlWhitespaceSensitivity === "ignore" && n ? "" : e5.map(({ isFirst: i }) => {
387
387
  let a = r();
388
- return i && t.htmlWhitespaceSensitivity === "ignore" ? [H, a] : a;
388
+ return i && t.htmlWhitespaceSensitivity === "ignore" ? [F, a] : a;
389
389
  }, "children");
390
390
  }
391
- function yn(e5) {
392
- return $e(e5) ? Ke([H, "/>"], [" />", H]) : Ke([H, ">"], ">");
391
+ function mn(e5) {
392
+ return Je(e5) ? Ge([F, "/>"], [" />", F]) : Ge([F, ">"], ">");
393
393
  }
394
394
  function be(e5) {
395
395
  var s;
@@ -401,74 +401,74 @@ function ye(e5) {
401
401
  let t = e5.trusting ? "}}}" : "}}";
402
402
  return [(s = e5.strip) != null && s.close ? "~" : "", t];
403
403
  }
404
- function kn(e5) {
404
+ function dn(e5) {
405
405
  let t = be(e5), r = e5.openStrip.open ? "~" : "";
406
406
  return [t, r, "#"];
407
407
  }
408
- function Sn(e5) {
408
+ function gn(e5) {
409
409
  let t = ye(e5);
410
410
  return [e5.openStrip.close ? "~" : "", t];
411
411
  }
412
- function Zr(e5) {
412
+ function Xr(e5) {
413
413
  let t = be(e5), r = e5.closeStrip.open ? "~" : "";
414
414
  return [t, r, "/"];
415
415
  }
416
- function ts(e5) {
416
+ function Zr(e5) {
417
417
  let t = ye(e5);
418
418
  return [e5.closeStrip.close ? "~" : "", t];
419
419
  }
420
- function as(e5) {
420
+ function is(e5) {
421
421
  let t = be(e5), r = e5.inverseStrip.open ? "~" : "";
422
422
  return [t, r];
423
423
  }
424
- function os(e5) {
424
+ function as(e5) {
425
425
  let t = ye(e5);
426
426
  return [e5.inverseStrip.close ? "~" : "", t];
427
427
  }
428
- function vn(e5, t) {
428
+ function bn(e5, t) {
429
429
  let { node: r } = e5, s = [], n = ke(e5, t);
430
- return n && s.push(R(n)), Zt(r.program.blockParams) && s.push(Ze(r.program)), R([kn(r), Xe(e5, t), s.length > 0 ? B([L, yt(L, s)]) : "", H, Sn(r)]);
430
+ return n && s.push(R(n)), Zt(r.program.blockParams) && s.push(Xe(r.program)), R([dn(r), $e(e5, t), s.length > 0 ? B([L, yt(L, s)]) : "", F, gn(r)]);
431
431
  }
432
- function En(e5, t) {
433
- return [t.htmlWhitespaceSensitivity === "ignore" ? tt : "", as(e5), "else", os(e5)];
432
+ function yn(e5, t) {
433
+ return [t.htmlWhitespaceSensitivity === "ignore" ? tt : "", is(e5), "else", as(e5)];
434
434
  }
435
- var ls = (e5, t) => e5.head.type === "VarHead" && t.head.type === "VarHead" && e5.head.name === t.head.name;
436
- function wn(e5) {
435
+ var os = (e5, t) => e5.head.type === "VarHead" && t.head.type === "VarHead" && e5.head.name === t.head.name;
436
+ function kn(e5) {
437
437
  var s;
438
438
  let { grandparent: t, node: r } = e5;
439
- return ((s = t == null ? void 0 : t.inverse) == null ? void 0 : s.body.length) === 1 && t.inverse.body[0] === r && ls(t.inverse.body[0].path, t.path);
439
+ return ((s = t == null ? void 0 : t.inverse) == null ? void 0 : s.body.length) === 1 && t.inverse.body[0] === r && os(t.inverse.body[0].path, t.path);
440
440
  }
441
- function Tn(e5, t) {
441
+ function Sn(e5, t) {
442
442
  let { node: r, grandparent: s } = e5;
443
- return R([as(s), ["else", " ", s.inverse.body[0].path.head.name], B([L, R(ke(e5, t)), ...Zt(r.program.blockParams) ? [L, Ze(r.program)] : []]), H, os(s)]);
443
+ return R([is(s), ["else", " ", s.inverse.body[0].path.head.name], B([L, R(ke(e5, t)), ...Zt(r.program.blockParams) ? [L, Xe(r.program)] : []]), F, as(s)]);
444
444
  }
445
- function Nn(e5, t, r) {
445
+ function En(e5, t, r) {
446
446
  let { node: s } = e5;
447
- return r.htmlWhitespaceSensitivity === "ignore" ? [cs(s) ? H : tt, Zr(s), t("path"), ts(s)] : [Zr(s), t("path"), ts(s)];
447
+ return t.htmlWhitespaceSensitivity === "ignore" ? [ls(s) ? F : tt, Xr(s), r("path"), Zr(s)] : [Xr(s), r("path"), Zr(s)];
448
448
  }
449
- function cs(e5) {
449
+ function ls(e5) {
450
450
  return e5.type === "BlockStatement" && e5.program.body.every((t) => ge(t));
451
451
  }
452
- function Cn(e5) {
453
- return us(e5) && e5.inverse.body.length === 1 && e5.inverse.body[0].type === "BlockStatement" && ls(e5.inverse.body[0].path, e5.path);
452
+ function vn(e5) {
453
+ return cs(e5) && e5.inverse.body.length === 1 && e5.inverse.body[0].type === "BlockStatement" && os(e5.inverse.body[0].path, e5.path);
454
454
  }
455
- function us(e5) {
455
+ function cs(e5) {
456
456
  return e5.type === "BlockStatement" && e5.inverse;
457
457
  }
458
- function es(e5, t, r) {
458
+ function ts(e5, t, r) {
459
459
  let { node: s } = e5;
460
- if (cs(s)) return "";
461
- let n = t("program");
462
- return r.htmlWhitespaceSensitivity === "ignore" ? B([tt, n]) : B(n);
460
+ if (ls(s)) return "";
461
+ let n = r("program");
462
+ return t.htmlWhitespaceSensitivity === "ignore" ? B([tt, n]) : B(n);
463
463
  }
464
- function rs(e5, t, r) {
465
- let { node: s } = e5, n = t("inverse"), i = r.htmlWhitespaceSensitivity === "ignore" ? [tt, n] : n;
466
- return Cn(s) ? i : us(s) ? [En(s, r), B(i)] : "";
464
+ function es(e5, t, r) {
465
+ let { node: s } = e5, n = r("inverse"), i = t.htmlWhitespaceSensitivity === "ignore" ? [tt, n] : n;
466
+ return vn(s) ? i : cs(s) ? [yn(s, t), B(i)] : "";
467
467
  }
468
- function ss(e5) {
468
+ function rs(e5) {
469
469
  return yt(L, K.split(e5));
470
470
  }
471
- function xn(e5) {
471
+ function wn(e5) {
472
472
  for (let t = 0; t < 2; t++) {
473
473
  let r = e5.getParentNode(t);
474
474
  if ((r == null ? void 0 : r.type) === "AttrNode") return r.name.toLowerCase();
@@ -478,36 +478,36 @@ function Vt(e5) {
478
478
  return e5 = typeof e5 == "string" ? e5 : "", e5.split(`
479
479
  `).length - 1;
480
480
  }
481
- function Pn(e5) {
481
+ function Tn(e5) {
482
482
  e5 = typeof e5 == "string" ? e5 : "";
483
483
  let t = (e5.match(/^([^\S\n\r]*[\n\r])+/gu) || [])[0] || "";
484
484
  return Vt(t);
485
485
  }
486
- function An(e5) {
486
+ function Nn(e5) {
487
487
  e5 = typeof e5 == "string" ? e5 : "";
488
488
  let t = (e5.match(/([\n\r][^\S\n\r]*)+$/gu) || [])[0] || "";
489
489
  return Vt(t);
490
490
  }
491
491
  function se(e5 = 0) {
492
- return Array.from({ length: Math.min(e5, is) }).fill(tt);
492
+ return Array.from({ length: Math.min(e5, ns) }).fill(tt);
493
493
  }
494
- function Ln(e5, t) {
495
- let { node: { value: r } } = e5, s = de(r, Dn(e5) ? !t.singleQuote : t.singleQuote);
494
+ function Cn(e5, t) {
495
+ let { node: { value: r } } = e5, s = de(r, xn(e5) ? !t.singleQuote : t.singleQuote);
496
496
  return [s, He(false, r, s, `\\${s}`), s];
497
497
  }
498
- function Dn(e5) {
498
+ function xn(e5) {
499
499
  let { ancestors: t } = e5, r = t.findIndex((s) => s.type !== "SubExpression");
500
500
  return r !== -1 && t[r + 1].type === "ConcatStatement" && t[r + 2].type === "AttrNode";
501
501
  }
502
- function _n(e5, t) {
503
- let r = Xe(e5, t), s = ke(e5, t);
502
+ function Pn(e5, t) {
503
+ let r = $e(e5, t), s = ke(e5, t);
504
504
  return s ? B([r, L, R(s)]) : r;
505
505
  }
506
- function ns(e5, t) {
507
- let r = Xe(e5, t), s = ke(e5, t);
508
- return s ? [B([r, L, s]), H] : r;
506
+ function ss(e5, t) {
507
+ let r = $e(e5, t), s = ke(e5, t);
508
+ return s ? [B([r, L, s]), F] : r;
509
509
  }
510
- function Xe(e5, t) {
510
+ function $e(e5, t) {
511
511
  return t("path");
512
512
  }
513
513
  function ke(e5, t) {
@@ -515,27 +515,27 @@ function ke(e5, t) {
515
515
  let { node: r } = e5, s = [];
516
516
  return r.params.length > 0 && s.push(...e5.map(t, "params")), ((n = r.hash) == null ? void 0 : n.pairs.length) > 0 && s.push(t("hash")), s.length === 0 ? "" : yt(L, s);
517
517
  }
518
- function Ze(e5) {
518
+ function Xe(e5) {
519
519
  return ["as |", e5.blockParams.join(" "), "|"];
520
520
  }
521
- var On = new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~"), Bn = /* @__PURE__ */ new Set(["true", "false", "null", "undefined"]), In = (e5, t) => t === 0 && e5.startsWith("@") ? false : t !== 0 && Bn.has(e5) || /\s/u.test(e5) || /^\d/u.test(e5) || Array.prototype.some.call(e5, (r) => On.has(r));
522
- function Rn(e5) {
523
- return e5.tail.length === 0 && e5.original.includes("/") ? e5.original : [e5.head.original, ...e5.tail].map((r, s) => In(r, s) ? `[${r}]` : r).join(".");
521
+ var An = new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~"), Ln = /* @__PURE__ */ new Set(["true", "false", "null", "undefined"]), Dn = (e5, t) => t === 0 && e5.startsWith("@") ? false : t !== 0 && Ln.has(e5) || /\s/u.test(e5) || /^\d/u.test(e5) || Array.prototype.some.call(e5, (r) => An.has(r));
522
+ function _n(e5) {
523
+ return e5.tail.length === 0 && e5.original.includes("/") ? e5.original : [e5.head.original, ...e5.tail].map((r, s) => Dn(r, s) ? `[${r}]` : r).join(".");
524
524
  }
525
- var qn = { print: dn, massageAstNode: zr, hasPrettierIgnore: $r, getVisitorKeys: Wr, embed: Yr }, hs = qn;
526
- var ps = [{ linguistLanguageId: 155, name: "Handlebars", type: "markup", color: "#f7931e", aliases: ["hbs", "htmlbars"], extensions: [".handlebars", ".hbs"], tmScope: "text.html.handlebars", aceMode: "handlebars", parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"] }];
527
- var xr = {};
528
- Fe(xr, { glimmer: () => Ei });
529
- var tr = Object.assign;
530
- var fs = console;
531
- function ds(e5, t = "unexpected unreachable branch") {
532
- throw fs.log("unreachable", e5), fs.log(`${t} :: ${JSON.stringify(e5)} (${e5})`), new Error("code reached unreachable");
525
+ var On = { print: hn, massageAstNode: Mr, hasPrettierIgnore: Jr, getVisitorKeys: Kr, embed: zr }, us = On;
526
+ var hs = [{ name: "Handlebars", type: "markup", extensions: [".handlebars", ".hbs"], tmScope: "text.html.handlebars", aceMode: "handlebars", aliases: ["hbs", "htmlbars"], parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"], linguistLanguageId: 155 }];
527
+ var Cr = {};
528
+ Ve(Cr, { glimmer: () => Ei });
529
+ var Ze = Object.assign;
530
+ var ps = console;
531
+ function ms(e5, t = "unexpected unreachable branch") {
532
+ throw ps.log("unreachable", e5), ps.log(`${t} :: ${JSON.stringify(e5)} (${e5})`), new Error("code reached unreachable");
533
533
  }
534
- var Fn = (function() {
534
+ var In = (function() {
535
535
  var e5 = function(it, d, k, g) {
536
536
  for (k = k || {}, g = it.length; g--; k[it[g]] = d) ;
537
537
  return k;
538
- }, t = [2, 44], r = [1, 20], s = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], n = [1, 35], i = [1, 38], a = [1, 30], o = [1, 31], c = [1, 32], h = [1, 33], p = [1, 34], m = [1, 37], S = [14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], y = [14, 15, 19, 29, 34, 44, 47, 48, 52, 56, 60], E = [15, 18], C = [14, 15, 19, 29, 34, 47, 48, 52, 56, 60], x = [33, 64, 71, 79, 80, 81, 82, 83, 84], w = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84], U = [1, 51], q = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84, 86], $ = [2, 43], Nt = [55, 64, 71, 79, 80, 81, 82, 83, 84], Ct = [1, 58], X = [1, 59], rt = [1, 66], V = [33, 64, 71, 74, 79, 80, 81, 82, 83, 84], xt = [23, 64, 71, 79, 80, 81, 82, 83, 84], F = [1, 76], st = [64, 67, 71, 79, 80, 81, 82, 83, 84], A = [33, 74], nt = [23, 33, 55, 67, 71, 74], ue = [1, 106], De = [1, 118], Ar = [71, 76], _e = { trace: function() {
538
+ }, t = [2, 44], r = [1, 20], s = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], n = [1, 35], i = [1, 38], a = [1, 30], o = [1, 31], c = [1, 32], h = [1, 33], p = [1, 34], m = [1, 37], S = [14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], y = [14, 15, 19, 29, 34, 44, 47, 48, 52, 56, 60], v = [15, 18], C = [14, 15, 19, 29, 34, 47, 48, 52, 56, 60], x = [33, 64, 71, 79, 80, 81, 82, 83, 84], w = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84], U = [1, 51], q = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84, 86], $ = [2, 43], Nt = [55, 64, 71, 79, 80, 81, 82, 83, 84], Ct = [1, 58], X = [1, 59], rt = [1, 66], V = [33, 64, 71, 74, 79, 80, 81, 82, 83, 84], xt = [23, 64, 71, 79, 80, 81, 82, 83, 84], H = [1, 76], st = [64, 67, 71, 79, 80, 81, 82, 83, 84], A = [33, 74], nt = [23, 33, 55, 67, 71, 74], ue = [1, 106], Le = [1, 118], Pr = [71, 76], De = { trace: function() {
539
539
  }, yy: {}, symbols_: { error: 2, root: 3, program: 4, EOF: 5, program_repetition0: 6, statement: 7, mustache: 8, block: 9, rawBlock: 10, partial: 11, partialBlock: 12, content: 13, COMMENT: 14, CONTENT: 15, openRawBlock: 16, rawBlock_repetition0: 17, END_RAW_BLOCK: 18, OPEN_RAW_BLOCK: 19, helperName: 20, openRawBlock_repetition0: 21, openRawBlock_option0: 22, CLOSE_RAW_BLOCK: 23, openBlock: 24, block_option0: 25, closeBlock: 26, openInverse: 27, block_option1: 28, OPEN_BLOCK: 29, openBlock_repetition0: 30, openBlock_option0: 31, openBlock_option1: 32, CLOSE: 33, OPEN_INVERSE: 34, openInverse_repetition0: 35, openInverse_option0: 36, openInverse_option1: 37, openInverseChain: 38, OPEN_INVERSE_CHAIN: 39, openInverseChain_repetition0: 40, openInverseChain_option0: 41, openInverseChain_option1: 42, inverseAndProgram: 43, INVERSE: 44, inverseChain: 45, inverseChain_option0: 46, OPEN_ENDBLOCK: 47, OPEN: 48, expr: 49, mustache_repetition0: 50, mustache_option0: 51, OPEN_UNESCAPED: 52, mustache_repetition1: 53, mustache_option1: 54, CLOSE_UNESCAPED: 55, OPEN_PARTIAL: 56, partial_repetition0: 57, partial_option0: 58, openPartialBlock: 59, OPEN_PARTIAL_BLOCK: 60, openPartialBlock_repetition0: 61, openPartialBlock_option0: 62, sexpr: 63, OPEN_SEXPR: 64, sexpr_repetition0: 65, sexpr_option0: 66, CLOSE_SEXPR: 67, hash: 68, hash_repetition_plus0: 69, hashSegment: 70, ID: 71, EQUALS: 72, blockParams: 73, OPEN_BLOCK_PARAMS: 74, blockParams_repetition_plus0: 75, CLOSE_BLOCK_PARAMS: 76, path: 77, dataName: 78, STRING: 79, NUMBER: 80, BOOLEAN: 81, UNDEFINED: 82, NULL: 83, DATA: 84, pathSegments: 85, SEP: 86, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT", 18: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 52: "OPEN_UNESCAPED", 55: "CLOSE_UNESCAPED", 56: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 64: "OPEN_SEXPR", 67: "CLOSE_SEXPR", 71: "ID", 72: "EQUALS", 74: "OPEN_BLOCK_PARAMS", 76: "CLOSE_BLOCK_PARAMS", 79: "STRING", 80: "NUMBER", 81: "BOOLEAN", 82: "UNDEFINED", 83: "NULL", 84: "DATA", 86: "SEP" }, productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [49, 1], [49, 1], [63, 5], [68, 1], [70, 3], [73, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [78, 2], [77, 1], [85, 3], [85, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [50, 0], [50, 2], [51, 0], [51, 1], [53, 0], [53, 2], [54, 0], [54, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [65, 0], [65, 2], [66, 0], [66, 1], [69, 1], [69, 2], [75, 1], [75, 2]], performAction: function(d, k, g, b, N, l, Pt) {
540
540
  var u = l.length - 1;
541
541
  switch (N) {
@@ -677,47 +677,47 @@ var Fn = (function() {
677
677
  this.$ = [l[u]];
678
678
  break;
679
679
  }
680
- }, table: [e5([5, 14, 15, 19, 29, 34, 48, 52, 56, 60], t, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, e5([5, 39, 44, 47], [2, 2], { 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 24: 15, 27: 16, 16: 17, 59: 19, 14: [1, 12], 15: r, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 52: [1, 14], 56: [1, 18], 60: [1, 24] }), { 1: [2, 1] }, e5(s, [2, 45]), e5(s, [2, 3]), e5(s, [2, 4]), e5(s, [2, 5]), e5(s, [2, 6]), e5(s, [2, 7]), e5(s, [2, 8]), e5(s, [2, 9]), { 20: 26, 49: 25, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 39, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(S, t, { 6: 3, 4: 40 }), e5(y, t, { 6: 3, 4: 41 }), e5(E, [2, 46], { 17: 42 }), { 20: 26, 49: 43, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 44 }), e5([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], [2, 10]), { 20: 45, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 46, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 47, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 48, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(x, [2, 76], { 50: 49 }), e5(w, [2, 27]), e5(w, [2, 28]), e5(w, [2, 33]), e5(w, [2, 34]), e5(w, [2, 35]), e5(w, [2, 36]), e5(w, [2, 37]), e5(w, [2, 38]), e5(w, [2, 39]), { 20: 26, 49: 50, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(w, [2, 41], { 86: U }), { 71: i, 85: 52 }, e5(q, $), e5(Nt, [2, 80], { 53: 53 }), { 25: 54, 38: 56, 39: Ct, 43: 57, 44: X, 45: 55, 47: [2, 52] }, { 28: 60, 43: 61, 44: X, 47: [2, 54] }, { 13: 63, 15: r, 18: [1, 62] }, e5(x, [2, 84], { 57: 64 }), { 26: 65, 47: rt }, e5(V, [2, 56], { 30: 67 }), e5(V, [2, 62], { 35: 68 }), e5(xt, [2, 48], { 21: 69 }), e5(x, [2, 88], { 61: 70 }), { 20: 26, 33: [2, 78], 49: 72, 51: 71, 63: 27, 64: n, 68: 73, 69: 74, 70: 75, 71: F, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(st, [2, 92], { 65: 77 }), { 71: [1, 78] }, e5(w, [2, 40], { 86: U }), { 20: 26, 49: 80, 54: 79, 55: [2, 82], 63: 27, 64: n, 68: 81, 69: 74, 70: 75, 71: F, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 26: 82, 47: rt }, { 47: [2, 53] }, e5(S, t, { 6: 3, 4: 83 }), { 47: [2, 20] }, { 20: 84, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 85 }), { 26: 86, 47: rt }, { 47: [2, 55] }, e5(s, [2, 11]), e5(E, [2, 47]), { 20: 26, 33: [2, 86], 49: 88, 58: 87, 63: 27, 64: n, 68: 89, 69: 74, 70: 75, 71: F, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(s, [2, 25]), { 20: 90, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(A, [2, 58], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 31: 91, 49: 92, 68: 93, 64: n, 71: F, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(A, [2, 64], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 36: 94, 49: 95, 68: 96, 64: n, 71: F, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), { 20: 26, 22: 97, 23: [2, 50], 49: 98, 63: 27, 64: n, 68: 99, 69: 74, 70: 75, 71: F, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 33: [2, 90], 49: 101, 62: 100, 63: 27, 64: n, 68: 102, 69: 74, 70: 75, 71: F, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 33: [1, 103] }, e5(x, [2, 77]), { 33: [2, 79] }, e5([23, 33, 55, 67, 74], [2, 30], { 70: 104, 71: [1, 105] }), e5(nt, [2, 96]), e5(q, $, { 72: ue }), { 20: 26, 49: 108, 63: 27, 64: n, 66: 107, 67: [2, 94], 68: 109, 69: 74, 70: 75, 71: F, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(q, [2, 42]), { 55: [1, 110] }, e5(Nt, [2, 81]), { 55: [2, 83] }, e5(s, [2, 13]), { 38: 56, 39: Ct, 43: 57, 44: X, 45: 112, 46: 111, 47: [2, 74] }, e5(V, [2, 68], { 40: 113 }), { 47: [2, 18] }, e5(s, [2, 14]), { 33: [1, 114] }, e5(x, [2, 85]), { 33: [2, 87] }, { 33: [1, 115] }, { 32: 116, 33: [2, 60], 73: 117, 74: De }, e5(V, [2, 57]), e5(A, [2, 59]), { 33: [2, 66], 37: 119, 73: 120, 74: De }, e5(V, [2, 63]), e5(A, [2, 65]), { 23: [1, 121] }, e5(xt, [2, 49]), { 23: [2, 51] }, { 33: [1, 122] }, e5(x, [2, 89]), { 33: [2, 91] }, e5(s, [2, 22]), e5(nt, [2, 97]), { 72: ue }, { 20: 26, 49: 123, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 67: [1, 124] }, e5(st, [2, 93]), { 67: [2, 95] }, e5(s, [2, 23]), { 47: [2, 19] }, { 47: [2, 75] }, e5(A, [2, 70], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 41: 125, 49: 126, 68: 127, 64: n, 71: F, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(s, [2, 24]), e5(s, [2, 21]), { 33: [1, 128] }, { 33: [2, 61] }, { 71: [1, 130], 75: 129 }, { 33: [1, 131] }, { 33: [2, 67] }, e5(E, [2, 12]), e5(C, [2, 26]), e5(nt, [2, 31]), e5(w, [2, 29]), { 33: [2, 72], 42: 132, 73: 133, 74: De }, e5(V, [2, 69]), e5(A, [2, 71]), e5(S, [2, 15]), { 71: [1, 135], 76: [1, 134] }, e5(Ar, [2, 98]), e5(y, [2, 16]), { 33: [1, 136] }, { 33: [2, 73] }, { 33: [2, 32] }, e5(Ar, [2, 99]), e5(S, [2, 17])], defaultActions: { 4: [2, 1], 55: [2, 53], 57: [2, 20], 61: [2, 55], 73: [2, 79], 81: [2, 83], 85: [2, 18], 89: [2, 87], 99: [2, 51], 102: [2, 91], 109: [2, 95], 111: [2, 19], 112: [2, 75], 117: [2, 61], 120: [2, 67], 133: [2, 73], 134: [2, 32] }, parseError: function(d, k) {
680
+ }, table: [e5([5, 14, 15, 19, 29, 34, 48, 52, 56, 60], t, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, e5([5, 39, 44, 47], [2, 2], { 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 24: 15, 27: 16, 16: 17, 59: 19, 14: [1, 12], 15: r, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 52: [1, 14], 56: [1, 18], 60: [1, 24] }), { 1: [2, 1] }, e5(s, [2, 45]), e5(s, [2, 3]), e5(s, [2, 4]), e5(s, [2, 5]), e5(s, [2, 6]), e5(s, [2, 7]), e5(s, [2, 8]), e5(s, [2, 9]), { 20: 26, 49: 25, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 39, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(S, t, { 6: 3, 4: 40 }), e5(y, t, { 6: 3, 4: 41 }), e5(v, [2, 46], { 17: 42 }), { 20: 26, 49: 43, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 44 }), e5([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], [2, 10]), { 20: 45, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 46, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 47, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 48, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(x, [2, 76], { 50: 49 }), e5(w, [2, 27]), e5(w, [2, 28]), e5(w, [2, 33]), e5(w, [2, 34]), e5(w, [2, 35]), e5(w, [2, 36]), e5(w, [2, 37]), e5(w, [2, 38]), e5(w, [2, 39]), { 20: 26, 49: 50, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(w, [2, 41], { 86: U }), { 71: i, 85: 52 }, e5(q, $), e5(Nt, [2, 80], { 53: 53 }), { 25: 54, 38: 56, 39: Ct, 43: 57, 44: X, 45: 55, 47: [2, 52] }, { 28: 60, 43: 61, 44: X, 47: [2, 54] }, { 13: 63, 15: r, 18: [1, 62] }, e5(x, [2, 84], { 57: 64 }), { 26: 65, 47: rt }, e5(V, [2, 56], { 30: 67 }), e5(V, [2, 62], { 35: 68 }), e5(xt, [2, 48], { 21: 69 }), e5(x, [2, 88], { 61: 70 }), { 20: 26, 33: [2, 78], 49: 72, 51: 71, 63: 27, 64: n, 68: 73, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(st, [2, 92], { 65: 77 }), { 71: [1, 78] }, e5(w, [2, 40], { 86: U }), { 20: 26, 49: 80, 54: 79, 55: [2, 82], 63: 27, 64: n, 68: 81, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 26: 82, 47: rt }, { 47: [2, 53] }, e5(S, t, { 6: 3, 4: 83 }), { 47: [2, 20] }, { 20: 84, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 85 }), { 26: 86, 47: rt }, { 47: [2, 55] }, e5(s, [2, 11]), e5(v, [2, 47]), { 20: 26, 33: [2, 86], 49: 88, 58: 87, 63: 27, 64: n, 68: 89, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(s, [2, 25]), { 20: 90, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(A, [2, 58], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 31: 91, 49: 92, 68: 93, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(A, [2, 64], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 36: 94, 49: 95, 68: 96, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), { 20: 26, 22: 97, 23: [2, 50], 49: 98, 63: 27, 64: n, 68: 99, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 33: [2, 90], 49: 101, 62: 100, 63: 27, 64: n, 68: 102, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 33: [1, 103] }, e5(x, [2, 77]), { 33: [2, 79] }, e5([23, 33, 55, 67, 74], [2, 30], { 70: 104, 71: [1, 105] }), e5(nt, [2, 96]), e5(q, $, { 72: ue }), { 20: 26, 49: 108, 63: 27, 64: n, 66: 107, 67: [2, 94], 68: 109, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(q, [2, 42]), { 55: [1, 110] }, e5(Nt, [2, 81]), { 55: [2, 83] }, e5(s, [2, 13]), { 38: 56, 39: Ct, 43: 57, 44: X, 45: 112, 46: 111, 47: [2, 74] }, e5(V, [2, 68], { 40: 113 }), { 47: [2, 18] }, e5(s, [2, 14]), { 33: [1, 114] }, e5(x, [2, 85]), { 33: [2, 87] }, { 33: [1, 115] }, { 32: 116, 33: [2, 60], 73: 117, 74: Le }, e5(V, [2, 57]), e5(A, [2, 59]), { 33: [2, 66], 37: 119, 73: 120, 74: Le }, e5(V, [2, 63]), e5(A, [2, 65]), { 23: [1, 121] }, e5(xt, [2, 49]), { 23: [2, 51] }, { 33: [1, 122] }, e5(x, [2, 89]), { 33: [2, 91] }, e5(s, [2, 22]), e5(nt, [2, 97]), { 72: ue }, { 20: 26, 49: 123, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 67: [1, 124] }, e5(st, [2, 93]), { 67: [2, 95] }, e5(s, [2, 23]), { 47: [2, 19] }, { 47: [2, 75] }, e5(A, [2, 70], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 41: 125, 49: 126, 68: 127, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(s, [2, 24]), e5(s, [2, 21]), { 33: [1, 128] }, { 33: [2, 61] }, { 71: [1, 130], 75: 129 }, { 33: [1, 131] }, { 33: [2, 67] }, e5(v, [2, 12]), e5(C, [2, 26]), e5(nt, [2, 31]), e5(w, [2, 29]), { 33: [2, 72], 42: 132, 73: 133, 74: Le }, e5(V, [2, 69]), e5(A, [2, 71]), e5(S, [2, 15]), { 71: [1, 135], 76: [1, 134] }, e5(Pr, [2, 98]), e5(y, [2, 16]), { 33: [1, 136] }, { 33: [2, 73] }, { 33: [2, 32] }, e5(Pr, [2, 99]), e5(S, [2, 17])], defaultActions: { 4: [2, 1], 55: [2, 53], 57: [2, 20], 61: [2, 55], 73: [2, 79], 81: [2, 83], 85: [2, 18], 89: [2, 87], 99: [2, 51], 102: [2, 91], 109: [2, 95], 111: [2, 19], 112: [2, 75], 117: [2, 61], 120: [2, 67], 133: [2, 73], 134: [2, 32] }, parseError: function(d, k) {
681
681
  if (k.recoverable) this.trace(d);
682
682
  else {
683
683
  var g = new Error(d);
684
684
  throw g.hash = k, g;
685
685
  }
686
686
  }, parse: function(d) {
687
- var k = this, g = [0], N = [null], l = [], Pt = this.table, u = "", at = 0, Yt = 0, Lr = 0, zs = 2, Dr = 1, Ys = l.slice.call(arguments, 1), P = Object.create(this.lexer), dt = { yy: {} };
688
- for (var Be in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Be) && (dt.yy[Be] = this.yy[Be]);
687
+ var k = this, g = [0], N = [null], l = [], Pt = this.table, u = "", at = 0, Yt = 0, Ar = 0, Hs = 2, Lr = 1, Fs = l.slice.call(arguments, 1), P = Object.create(this.lexer), dt = { yy: {} };
688
+ for (var Oe in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Oe) && (dt.yy[Oe] = this.yy[Oe]);
689
689
  P.setInput(d, dt.yy), dt.yy.lexer = P, dt.yy.parser = this, typeof P.yylloc > "u" && (P.yylloc = {});
690
- var Ie = P.yylloc;
691
- l.push(Ie);
692
- var Gs = P.options && P.options.ranges;
690
+ var Be = P.yylloc;
691
+ l.push(Be);
692
+ var Us = P.options && P.options.ranges;
693
693
  typeof dt.yy.parseError == "function" ? this.parseError = dt.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
694
- for (var Ks = function() {
694
+ for (var Ms = function() {
695
695
  var W;
696
- return W = P.lex() || Dr, typeof W != "number" && (W = k.symbols_[W] || W), W;
697
- }, O, Re, gt, M, Ni, qe, At = {}, he, Z, _r, pe; ; ) {
698
- if (gt = g[g.length - 1], this.defaultActions[gt] ? M = this.defaultActions[gt] : ((O === null || typeof O > "u") && (O = Ks()), M = Pt[gt] && Pt[gt][O]), typeof M > "u" || !M.length || !M[0]) {
699
- var Ve = "";
696
+ return W = P.lex() || Lr, typeof W != "number" && (W = k.symbols_[W] || W), W;
697
+ }, O, Ie, gt, M, Ti, Re, At = {}, he, Z, Dr, pe; ; ) {
698
+ if (gt = g[g.length - 1], this.defaultActions[gt] ? M = this.defaultActions[gt] : ((O === null || typeof O > "u") && (O = Ms()), M = Pt[gt] && Pt[gt][O]), typeof M > "u" || !M.length || !M[0]) {
699
+ var qe = "";
700
700
  pe = [];
701
- for (he in Pt[gt]) this.terminals_[he] && he > zs && pe.push("'" + this.terminals_[he] + "'");
702
- P.showPosition ? Ve = "Parse error on line " + (at + 1) + `:
701
+ for (he in Pt[gt]) this.terminals_[he] && he > Hs && pe.push("'" + this.terminals_[he] + "'");
702
+ P.showPosition ? qe = "Parse error on line " + (at + 1) + `:
703
703
  ` + P.showPosition() + `
704
- Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : Ve = "Parse error on line " + (at + 1) + ": Unexpected " + (O == Dr ? "end of input" : "'" + (this.terminals_[O] || O) + "'"), this.parseError(Ve, { text: P.match, token: this.terminals_[O] || O, line: P.yylineno, loc: Ie, expected: pe });
704
+ Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : qe = "Parse error on line " + (at + 1) + ": Unexpected " + (O == Lr ? "end of input" : "'" + (this.terminals_[O] || O) + "'"), this.parseError(qe, { text: P.match, token: this.terminals_[O] || O, line: P.yylineno, loc: Be, expected: pe });
705
705
  }
706
706
  if (M[0] instanceof Array && M.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + gt + ", token: " + O);
707
707
  switch (M[0]) {
708
708
  case 1:
709
- g.push(O), N.push(P.yytext), l.push(P.yylloc), g.push(M[1]), O = null, Re ? (O = Re, Re = null) : (Yt = P.yyleng, u = P.yytext, at = P.yylineno, Ie = P.yylloc, Lr > 0);
709
+ g.push(O), N.push(P.yytext), l.push(P.yylloc), g.push(M[1]), O = null, Ie ? (O = Ie, Ie = null) : (Yt = P.yyleng, u = P.yytext, at = P.yylineno, Be = P.yylloc, Ar > 0);
710
710
  break;
711
711
  case 2:
712
- if (Z = this.productions_[M[1]][1], At.$ = N[N.length - Z], At._$ = { first_line: l[l.length - (Z || 1)].first_line, last_line: l[l.length - 1].last_line, first_column: l[l.length - (Z || 1)].first_column, last_column: l[l.length - 1].last_column }, Gs && (At._$.range = [l[l.length - (Z || 1)].range[0], l[l.length - 1].range[1]]), qe = this.performAction.apply(At, [u, Yt, at, dt.yy, M[1], N, l].concat(Ys)), typeof qe < "u") return qe;
713
- Z && (g = g.slice(0, -1 * Z * 2), N = N.slice(0, -1 * Z), l = l.slice(0, -1 * Z)), g.push(this.productions_[M[1]][0]), N.push(At.$), l.push(At._$), _r = Pt[g[g.length - 2]][g[g.length - 1]], g.push(_r);
712
+ if (Z = this.productions_[M[1]][1], At.$ = N[N.length - Z], At._$ = { first_line: l[l.length - (Z || 1)].first_line, last_line: l[l.length - 1].last_line, first_column: l[l.length - (Z || 1)].first_column, last_column: l[l.length - 1].last_column }, Us && (At._$.range = [l[l.length - (Z || 1)].range[0], l[l.length - 1].range[1]]), Re = this.performAction.apply(At, [u, Yt, at, dt.yy, M[1], N, l].concat(Fs)), typeof Re < "u") return Re;
713
+ Z && (g = g.slice(0, -1 * Z * 2), N = N.slice(0, -1 * Z), l = l.slice(0, -1 * Z)), g.push(this.productions_[M[1]][0]), N.push(At.$), l.push(At._$), Dr = Pt[g[g.length - 2]][g[g.length - 1]], g.push(Dr);
714
714
  break;
715
715
  case 3:
716
716
  return true;
717
717
  }
718
718
  }
719
719
  return true;
720
- } }, Ms = /* @__PURE__ */ (function() {
720
+ } }, Vs = /* @__PURE__ */ (function() {
721
721
  var it = { EOF: 1, parseError: function(k, g) {
722
722
  if (this.yy.parser) this.yy.parser.parseError(k, g);
723
723
  else throw new Error(k);
@@ -895,32 +895,32 @@ Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : Ve =
895
895
  }, rules: [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]+?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/], conditions: { mu: { rules: [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], inclusive: false }, emu: { rules: [2], inclusive: false }, com: { rules: [6], inclusive: false }, raw: { rules: [3, 4, 5], inclusive: false }, INITIAL: { rules: [0, 1, 44], inclusive: true } } };
896
896
  return it;
897
897
  })();
898
- _e.lexer = Ms;
899
- function Oe() {
898
+ De.lexer = Vs;
899
+ function _e() {
900
900
  this.yy = {};
901
901
  }
902
- return Oe.prototype = _e, _e.Parser = Oe, new Oe();
903
- })(), Se = Fn;
904
- var er = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
905
- function rr(e5, t) {
902
+ return _e.prototype = De, De.Parser = _e, new _e();
903
+ })(), Se = In;
904
+ var tr = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
905
+ function er(e5, t) {
906
906
  var r = t && t.loc, s, n, i, a;
907
907
  r && (s = r.start.line, n = r.end.line, i = r.start.column, a = r.end.column, e5 += " - " + s + ":" + i);
908
- for (var o = Error.prototype.constructor.call(this, e5), c = 0; c < er.length; c++) this[er[c]] = o[er[c]];
909
- Error.captureStackTrace && Error.captureStackTrace(this, rr);
908
+ for (var o = Error.prototype.constructor.call(this, e5), c = 0; c < tr.length; c++) this[tr[c]] = o[tr[c]];
909
+ Error.captureStackTrace && Error.captureStackTrace(this, er);
910
910
  try {
911
911
  r && (this.lineNumber = s, this.endLineNumber = n, Object.defineProperty ? (Object.defineProperty(this, "column", { value: i, enumerable: true }), Object.defineProperty(this, "endColumn", { value: a, enumerable: true })) : (this.column = i, this.endColumn = a));
912
912
  } catch {
913
913
  }
914
914
  }
915
- rr.prototype = new Error();
916
- var ot = rr;
917
- function ve() {
915
+ er.prototype = new Error();
916
+ var ot = er;
917
+ function Ee() {
918
918
  this.parents = [];
919
919
  }
920
- ve.prototype = { constructor: ve, mutating: false, acceptKey: function(e5, t) {
920
+ Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
921
921
  var r = this.accept(e5[t]);
922
922
  if (this.mutating) {
923
- if (r && !ve.prototype[r.type]) throw new ot('Unexpected node type "' + r.type + '" found when accepting ' + t + " on " + e5.type);
923
+ if (r && !Ee.prototype[r.type]) throw new ot('Unexpected node type "' + r.type + '" found when accepting ' + t + " on " + e5.type);
924
924
  e5[t] = r;
925
925
  }
926
926
  }, acceptRequired: function(e5, t) {
@@ -937,11 +937,11 @@ ve.prototype = { constructor: ve, mutating: false, acceptKey: function(e5, t) {
937
937
  }
938
938
  }, Program: function(e5) {
939
939
  this.acceptArray(e5.body);
940
- }, MustacheStatement: Ee, Decorator: Ee, BlockStatement: gs, DecoratorBlock: gs, PartialStatement: bs, PartialBlockStatement: function(e5) {
941
- bs.call(this, e5), this.acceptKey(e5, "program");
940
+ }, MustacheStatement: ve, Decorator: ve, BlockStatement: ds, DecoratorBlock: ds, PartialStatement: gs, PartialBlockStatement: function(e5) {
941
+ gs.call(this, e5), this.acceptKey(e5, "program");
942
942
  }, ContentStatement: function() {
943
943
  }, CommentStatement: function() {
944
- }, SubExpression: Ee, PathExpression: function() {
944
+ }, SubExpression: ve, PathExpression: function() {
945
945
  }, StringLiteral: function() {
946
946
  }, NumberLiteral: function() {
947
947
  }, BooleanLiteral: function() {
@@ -952,28 +952,28 @@ ve.prototype = { constructor: ve, mutating: false, acceptKey: function(e5, t) {
952
952
  }, HashPair: function(e5) {
953
953
  this.acceptRequired(e5, "value");
954
954
  } };
955
- function Ee(e5) {
955
+ function ve(e5) {
956
956
  this.acceptRequired(e5, "path"), this.acceptArray(e5.params), this.acceptKey(e5, "hash");
957
957
  }
958
- function gs(e5) {
959
- Ee.call(this, e5), this.acceptKey(e5, "program"), this.acceptKey(e5, "inverse");
958
+ function ds(e5) {
959
+ ve.call(this, e5), this.acceptKey(e5, "program"), this.acceptKey(e5, "inverse");
960
960
  }
961
- function bs(e5) {
961
+ function gs(e5) {
962
962
  this.acceptRequired(e5, "name"), this.acceptArray(e5.params), this.acceptKey(e5, "hash");
963
963
  }
964
- var ys = ve;
964
+ var bs = Ee;
965
965
  function Q(e5) {
966
966
  e5 === void 0 && (e5 = {}), this.options = e5;
967
967
  }
968
- Q.prototype = new ys();
968
+ Q.prototype = new bs();
969
969
  Q.prototype.Program = function(e5) {
970
970
  var t = !this.options.ignoreStandalone, r = !this.isRootSeen;
971
971
  this.isRootSeen = true;
972
972
  for (var s = e5.body, n = 0, i = s.length; n < i; n++) {
973
973
  var a = s[n], o = this.accept(a);
974
974
  if (o) {
975
- var c = sr(s, n, r), h = nr(s, n, r), p = o.openStandalone && c, m = o.closeStandalone && h, S = o.inlineStandalone && c && h;
976
- o.close && vt(s, n, true), o.open && lt(s, n, true), t && S && (vt(s, n), lt(s, n) && a.type === "PartialStatement" && (a.indent = /([ \t]+$)/.exec(s[n - 1].original)[1])), t && p && (vt((a.program || a.inverse).body), lt(s, n)), t && m && (vt(s, n), lt((a.inverse || a.program).body));
975
+ var c = rr(s, n, r), h = sr(s, n, r), p = o.openStandalone && c, m = o.closeStandalone && h, S = o.inlineStandalone && c && h;
976
+ o.close && Et(s, n, true), o.open && lt(s, n, true), t && S && (Et(s, n), lt(s, n) && a.type === "PartialStatement" && (a.indent = /([ \t]+$)/.exec(s[n - 1].original)[1])), t && p && (Et((a.program || a.inverse).body), lt(s, n)), t && m && (Et(s, n), lt((a.inverse || a.program).body));
977
977
  }
978
978
  }
979
979
  return e5;
@@ -982,10 +982,10 @@ Q.prototype.BlockStatement = Q.prototype.DecoratorBlock = Q.prototype.PartialBlo
982
982
  this.accept(e5.program), this.accept(e5.inverse);
983
983
  var t = e5.program || e5.inverse, r = e5.program && e5.inverse, s = r, n = r;
984
984
  if (r && r.chained) for (s = r.body[0].program; n.chained; ) n = n.body[n.body.length - 1].program;
985
- var i = { open: e5.openStrip.open, close: e5.closeStrip.close, openStandalone: nr(t.body), closeStandalone: sr((s || t).body) };
986
- if (e5.openStrip.close && vt(t.body, null, true), r) {
985
+ var i = { open: e5.openStrip.open, close: e5.closeStrip.close, openStandalone: sr(t.body), closeStandalone: rr((s || t).body) };
986
+ if (e5.openStrip.close && Et(t.body, null, true), r) {
987
987
  var a = e5.inverseStrip;
988
- a.open && lt(t.body, null, true), a.close && vt(s.body, null, true), e5.closeStrip.open && lt(n.body, null, true), !this.options.ignoreStandalone && sr(t.body) && nr(s.body) && (lt(t.body), vt(s.body));
988
+ a.open && lt(t.body, null, true), a.close && Et(s.body, null, true), e5.closeStrip.open && lt(n.body, null, true), !this.options.ignoreStandalone && rr(t.body) && sr(s.body) && (lt(t.body), Et(s.body));
989
989
  } else e5.closeStrip.open && lt(t.body, null, true);
990
990
  return i;
991
991
  };
@@ -996,19 +996,19 @@ Q.prototype.PartialStatement = Q.prototype.CommentStatement = function(e5) {
996
996
  var t = e5.strip || {};
997
997
  return { inlineStandalone: true, open: t.open, close: t.close };
998
998
  };
999
- function sr(e5, t, r) {
999
+ function rr(e5, t, r) {
1000
1000
  t === void 0 && (t = e5.length);
1001
1001
  var s = e5[t - 1], n = e5[t - 2];
1002
1002
  if (!s) return r;
1003
1003
  if (s.type === "ContentStatement") return (n || !r ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(s.original);
1004
1004
  }
1005
- function nr(e5, t, r) {
1005
+ function sr(e5, t, r) {
1006
1006
  t === void 0 && (t = -1);
1007
1007
  var s = e5[t + 1], n = e5[t + 2];
1008
1008
  if (!s) return r;
1009
1009
  if (s.type === "ContentStatement") return (n || !r ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(s.original);
1010
1010
  }
1011
- function vt(e5, t, r) {
1011
+ function Et(e5, t, r) {
1012
1012
  var s = e5[t == null ? 0 : t + 1];
1013
1013
  if (!(!s || s.type !== "ContentStatement" || !r && s.rightStripped)) {
1014
1014
  var n = s.value;
@@ -1022,28 +1022,28 @@ function lt(e5, t, r) {
1022
1022
  return s.value = s.value.replace(r ? /\s+$/ : /[ \t]+$/, ""), s.leftStripped = s.value !== n, s.leftStripped;
1023
1023
  }
1024
1024
  }
1025
- var ks = Q;
1025
+ var ys = Q;
1026
1026
  var ne = {};
1027
- Fe(ne, { SourceLocation: () => ar, id: () => Hn, prepareBlock: () => Kn, prepareMustache: () => Yn, preparePartialBlock: () => jn, preparePath: () => zn, prepareProgram: () => Wn, prepareRawBlock: () => Gn, stripComment: () => Mn, stripFlags: () => Un });
1028
- function ir(e5, t) {
1027
+ Ve(ne, { SourceLocation: () => ir, id: () => Rn, prepareBlock: () => Mn, prepareMustache: () => Fn, preparePartialBlock: () => Yn, preparePath: () => Hn, prepareProgram: () => zn, prepareRawBlock: () => Un, stripComment: () => Vn, stripFlags: () => qn });
1028
+ function nr(e5, t) {
1029
1029
  if (t = t.path ? t.path.original : t, e5.path.original !== t) {
1030
1030
  var r = { loc: e5.path.loc };
1031
1031
  throw new ot(e5.path.original + " doesn't match " + t, r);
1032
1032
  }
1033
1033
  }
1034
- function ar(e5, t) {
1034
+ function ir(e5, t) {
1035
1035
  this.source = e5, this.start = { line: t.first_line, column: t.first_column }, this.end = { line: t.last_line, column: t.last_column };
1036
1036
  }
1037
- function Hn(e5) {
1037
+ function Rn(e5) {
1038
1038
  return /^\[.*\]$/.test(e5) ? e5.substring(1, e5.length - 1) : e5;
1039
1039
  }
1040
- function Un(e5, t) {
1040
+ function qn(e5, t) {
1041
1041
  return { open: e5.charAt(2) === "~", close: t.charAt(t.length - 3) === "~" };
1042
1042
  }
1043
- function Mn(e5) {
1043
+ function Vn(e5) {
1044
1044
  return e5.replace(/^\{\{~?!-?-?/, "").replace(/-?-?~?\}\}$/, "");
1045
1045
  }
1046
- function zn(e5, t, r) {
1046
+ function Hn(e5, t, r) {
1047
1047
  r = this.locInfo(r);
1048
1048
  for (var s = e5 ? "@" : "", n = [], i = 0, a = 0, o = t.length; a < o; a++) {
1049
1049
  var c = t[a].part, h = t[a].original !== c;
@@ -1054,17 +1054,17 @@ function zn(e5, t, r) {
1054
1054
  }
1055
1055
  return { type: "PathExpression", data: e5, depth: i, parts: n, original: s, loc: r };
1056
1056
  }
1057
- function Yn(e5, t, r, s, n, i) {
1057
+ function Fn(e5, t, r, s, n, i) {
1058
1058
  var a = s.charAt(3) || s.charAt(2), o = a !== "{" && a !== "&", c = /\*/.test(s);
1059
1059
  return { type: c ? "Decorator" : "MustacheStatement", path: e5, params: t, hash: r, escaped: o, strip: n, loc: this.locInfo(i) };
1060
1060
  }
1061
- function Gn(e5, t, r, s) {
1062
- ir(e5, r), s = this.locInfo(s);
1061
+ function Un(e5, t, r, s) {
1062
+ nr(e5, r), s = this.locInfo(s);
1063
1063
  var n = { type: "Program", body: t, strip: {}, loc: s };
1064
1064
  return { type: "BlockStatement", path: e5.path, params: e5.params, hash: e5.hash, program: n, openStrip: {}, inverseStrip: {}, closeStrip: {}, loc: s };
1065
1065
  }
1066
- function Kn(e5, t, r, s, n, i) {
1067
- s && s.path && ir(e5, s);
1066
+ function Mn(e5, t, r, s, n, i) {
1067
+ s && s.path && nr(e5, s);
1068
1068
  var a = /\*/.test(e5.open);
1069
1069
  t.blockParams = e5.blockParams;
1070
1070
  var o, c;
@@ -1074,56 +1074,56 @@ function Kn(e5, t, r, s, n, i) {
1074
1074
  }
1075
1075
  return n && (n = o, o = t, t = n), { type: a ? "DecoratorBlock" : "BlockStatement", path: e5.path, params: e5.params, hash: e5.hash, program: t, inverse: o, openStrip: e5.strip, inverseStrip: c, closeStrip: s && s.strip, loc: this.locInfo(i) };
1076
1076
  }
1077
- function Wn(e5, t) {
1077
+ function zn(e5, t) {
1078
1078
  if (!t && e5.length) {
1079
1079
  var r = e5[0].loc, s = e5[e5.length - 1].loc;
1080
1080
  r && s && (t = { source: r.source, start: { line: r.start.line, column: r.start.column }, end: { line: s.end.line, column: s.end.column } });
1081
1081
  }
1082
1082
  return { type: "Program", body: e5, strip: {}, loc: t };
1083
1083
  }
1084
- function jn(e5, t, r, s) {
1085
- return ir(e5, r), { type: "PartialBlockStatement", name: e5.path, params: e5.params, hash: e5.hash, program: t, openStrip: e5.strip, closeStrip: r && r.strip, loc: this.locInfo(s) };
1084
+ function Yn(e5, t, r, s) {
1085
+ return nr(e5, r), { type: "PartialBlockStatement", name: e5.path, params: e5.params, hash: e5.hash, program: t, openStrip: e5.strip, closeStrip: r && r.strip, loc: this.locInfo(s) };
1086
1086
  }
1087
- var Ss = {};
1088
- for (we in ne) Object.prototype.hasOwnProperty.call(ne, we) && (Ss[we] = ne[we]);
1087
+ var ks = {};
1088
+ for (we in ne) Object.prototype.hasOwnProperty.call(ne, we) && (ks[we] = ne[we]);
1089
1089
  var we;
1090
1090
  function Te(e5, t) {
1091
1091
  if (e5.type === "Program") return e5;
1092
- Se.yy = Ss, Se.yy.locInfo = function(s) {
1093
- return new ar(t && t.srcName, s);
1092
+ Se.yy = ks, Se.yy.locInfo = function(s) {
1093
+ return new ir(t && t.srcName, s);
1094
1094
  };
1095
1095
  var r = Se.parse(e5);
1096
1096
  return r;
1097
1097
  }
1098
- function or(e5, t) {
1099
- var r = Te(e5, t), s = new ks(t);
1098
+ function ar(e5, t) {
1099
+ var r = Te(e5, t), s = new ys(t);
1100
1100
  return s.accept(r);
1101
1101
  }
1102
1102
  var Es = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: `
1103
- `, nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" }, Qn = /^#[xX]([A-Fa-f0-9]+)$/, Jn = /^#([0-9]+)$/, $n = /^([A-Za-z0-9]+)$/, lr = (function() {
1103
+ `, nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" }, Gn = /^#[xX]([A-Fa-f0-9]+)$/, Kn = /^#([0-9]+)$/, Wn = /^([A-Za-z0-9]+)$/, or = (function() {
1104
1104
  function e5(t) {
1105
1105
  this.named = t;
1106
1106
  }
1107
1107
  return e5.prototype.parse = function(t) {
1108
1108
  if (t) {
1109
- var r = t.match(Qn);
1109
+ var r = t.match(Gn);
1110
1110
  if (r) return String.fromCharCode(parseInt(r[1], 16));
1111
- if (r = t.match(Jn), r) return String.fromCharCode(parseInt(r[1], 10));
1112
- if (r = t.match($n), r) return this.named[r[1]];
1111
+ if (r = t.match(Kn), r) return String.fromCharCode(parseInt(r[1], 10));
1112
+ if (r = t.match(Wn), r) return this.named[r[1]];
1113
1113
  }
1114
1114
  }, e5;
1115
- })(), Xn = /[\t\n\f ]/, Zn = /[A-Za-z]/, ti = /\r\n?/g;
1115
+ })(), jn = /[\t\n\f ]/, Qn = /[A-Za-z]/, Jn = /\r\n?/g;
1116
1116
  function _(e5) {
1117
- return Xn.test(e5);
1117
+ return jn.test(e5);
1118
1118
  }
1119
- function vs(e5) {
1120
- return Zn.test(e5);
1119
+ function Ss(e5) {
1120
+ return Qn.test(e5);
1121
1121
  }
1122
- function ei(e5) {
1123
- return e5.replace(ti, `
1122
+ function $n(e5) {
1123
+ return e5.replace(Jn, `
1124
1124
  `);
1125
1125
  }
1126
- var cr = (function() {
1126
+ var lr = (function() {
1127
1127
  function e5(t, r, s) {
1128
1128
  s === void 0 && (s = "precompile"), this.delegate = t, this.entityParser = r, this.mode = s, this.state = "beforeData", this.line = -1, this.column = -1, this.input = "", this.index = -1, this.tagNameBuffer = "", this.states = { beforeData: function() {
1129
1129
  var n = this.peek();
@@ -1141,7 +1141,7 @@ var cr = (function() {
1141
1141
  n === "<" && !this.isIgnoredEndTag() ? (this.delegate.finishData(), this.transitionTo("tagOpen"), this.markTagStart(), this.consume()) : n === "&" && i !== "script" && i !== "style" ? (this.consume(), this.delegate.appendToData(this.consumeCharRef() || "&")) : (this.consume(), this.delegate.appendToData(n));
1142
1142
  }, tagOpen: function() {
1143
1143
  var n = this.consume();
1144
- n === "!" ? this.transitionTo("markupDeclarationOpen") : n === "/" ? this.transitionTo("endTagOpen") : (n === "@" || n === ":" || vs(n)) && (this.transitionTo("tagName"), this.tagNameBuffer = "", this.delegate.beginStartTag(), this.appendToTagName(n));
1144
+ n === "!" ? this.transitionTo("markupDeclarationOpen") : n === "/" ? this.transitionTo("endTagOpen") : (n === "@" || n === ":" || Ss(n)) && (this.transitionTo("tagName"), this.tagNameBuffer = "", this.delegate.beginStartTag(), this.appendToTagName(n));
1145
1145
  }, markupDeclarationOpen: function() {
1146
1146
  var n = this.consume();
1147
1147
  if (n === "-" && this.peek() === "-") this.consume(), this.transitionTo("commentStart"), this.delegate.beginComment();
@@ -1245,7 +1245,7 @@ var cr = (function() {
1245
1245
  n === ">" ? (this.consume(), this.delegate.markTagAsSelfClosing(), this.delegate.finishTag(), this.transitionTo("beforeData")) : this.transitionTo("beforeAttributeName");
1246
1246
  }, endTagOpen: function() {
1247
1247
  var n = this.consume();
1248
- (n === "@" || n === ":" || vs(n)) && (this.transitionTo("endTagName"), this.tagNameBuffer = "", this.delegate.beginEndTag(), this.appendToTagName(n));
1248
+ (n === "@" || n === ":" || Ss(n)) && (this.transitionTo("endTagName"), this.tagNameBuffer = "", this.delegate.beginEndTag(), this.appendToTagName(n));
1249
1249
  } }, this.reset();
1250
1250
  }
1251
1251
  return e5.prototype.reset = function() {
@@ -1255,7 +1255,7 @@ var cr = (function() {
1255
1255
  }, e5.prototype.tokenize = function(t) {
1256
1256
  this.reset(), this.tokenizePart(t), this.tokenizeEOF();
1257
1257
  }, e5.prototype.tokenizePart = function(t) {
1258
- for (this.input += ei(t); this.index < this.input.length; ) {
1258
+ for (this.input += $n(t); this.index < this.input.length; ) {
1259
1259
  var r = this.states[this.state];
1260
1260
  if (r !== void 0) r.call(this);
1261
1261
  else throw new Error("unhandled state " + this.state);
@@ -1288,21 +1288,21 @@ var cr = (function() {
1288
1288
  return t === "title" && this.input.substring(this.index, this.index + 8) !== "</title>" || t === "style" && this.input.substring(this.index, this.index + 8) !== "</style>" || t === "script" && this.input.substring(this.index, this.index + 9) !== "<\/script>";
1289
1289
  }, e5;
1290
1290
  })();
1291
- var dr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
1292
- function ni(e5) {
1291
+ var mr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
1292
+ function ei(e5) {
1293
1293
  var t;
1294
- return dr.has(e5.toLowerCase()) && ((t = e5[0]) == null ? void 0 : t.toLowerCase()) === e5[0];
1294
+ return mr.has(e5.toLowerCase()) && ((t = e5[0]) == null ? void 0 : t.toLowerCase()) === e5[0];
1295
1295
  }
1296
1296
  function ce(e5) {
1297
1297
  return !!e5 && e5.length > 0;
1298
1298
  }
1299
- function Nr(e5) {
1299
+ function Tr(e5) {
1300
1300
  return e5.length === 0 ? void 0 : e5[e5.length - 1];
1301
1301
  }
1302
- function ii(e5) {
1302
+ function ri(e5) {
1303
1303
  return e5.length === 0 ? void 0 : e5[0];
1304
1304
  }
1305
- var pt = Object.freeze({ line: 1, column: 0 }), ai = Object.freeze({ source: "(synthetic)", start: pt, end: pt }), gr = Object.freeze({ source: "(nonexistent)", start: pt, end: pt }), ht = Object.freeze({ source: "(broken)", start: pt, end: pt }), br = class {
1305
+ var pt = Object.freeze({ line: 1, column: 0 }), si = Object.freeze({ source: "(synthetic)", start: pt, end: pt }), dr = Object.freeze({ source: "(nonexistent)", start: pt, end: pt }), ht = Object.freeze({ source: "(broken)", start: pt, end: pt }), gr = class {
1306
1306
  constructor(t) {
1307
1307
  this._whens = t;
1308
1308
  }
@@ -1338,16 +1338,16 @@ var pt = Object.freeze({ line: 1, column: 0 }), ai = Object.freeze({ source: "(s
1338
1338
  this._map = /* @__PURE__ */ new Map();
1339
1339
  }
1340
1340
  };
1341
- function _s(e5) {
1342
- return e5(new yr()).validate();
1341
+ function Ls(e5) {
1342
+ return e5(new br()).validate();
1343
1343
  }
1344
- var yr = class {
1344
+ var br = class {
1345
1345
  validate() {
1346
1346
  return (t, r) => this.matchFor(t.kind, r.kind)(t, r);
1347
1347
  }
1348
1348
  matchFor(t, r) {
1349
1349
  let s = this._whens.match(t);
1350
- return ce(), new br(s).first(r);
1350
+ return ce(s), new gr(s).first(r);
1351
1351
  }
1352
1352
  when(t, r, s) {
1353
1353
  return this._whens.get(t, () => new Pe()).add(r, s), this;
@@ -1355,7 +1355,7 @@ var yr = class {
1355
1355
  constructor() {
1356
1356
  this._whens = new Pe();
1357
1357
  }
1358
- }, kr = class e {
1358
+ }, yr = class e {
1359
1359
  static synthetic(t) {
1360
1360
  let r = D.synthetic(t);
1361
1361
  return new e({ loc: r, chars: t });
@@ -1374,10 +1374,10 @@ var yr = class {
1374
1374
  }
1375
1375
  }, D = class e2 {
1376
1376
  static get NON_EXISTENT() {
1377
- return new et("NonExistent", gr).wrap();
1377
+ return new et("NonExistent", dr).wrap();
1378
1378
  }
1379
1379
  static load(t, r) {
1380
- return typeof r == "number" ? e2.forCharPositions(t, r, r) : typeof r == "string" ? e2.synthetic(r) : Array.isArray(r) ? e2.forCharPositions(t, r[0], r[1]) : r === "NonExistent" ? e2.NON_EXISTENT : r === "Broken" ? e2.broken(ht) : void ds(r);
1380
+ return typeof r == "number" ? e2.forCharPositions(t, r, r) : typeof r == "string" ? e2.synthetic(r) : Array.isArray(r) ? e2.forCharPositions(t, r[0], r[1]) : r === "NonExistent" ? e2.NON_EXISTENT : r === "Broken" ? e2.broken(ht) : void ms(r);
1381
1381
  }
1382
1382
  static forHbsLoc(t, r) {
1383
1383
  let s = new mt(t, r.start), n = new mt(t, r.end);
@@ -1388,7 +1388,7 @@ var yr = class {
1388
1388
  return new ae(t, { start: n, end: i }).wrap();
1389
1389
  }
1390
1390
  static synthetic(t) {
1391
- return new et("InternalsSynthetic", gr, t).wrap();
1391
+ return new et("InternalsSynthetic", dr, t).wrap();
1392
1392
  }
1393
1393
  static broken(t = ht) {
1394
1394
  return new et("Broken", t).wrap();
@@ -1430,7 +1430,7 @@ var yr = class {
1430
1430
  }
1431
1431
  toSlice(t) {
1432
1432
  let r = this.data.asString();
1433
- return new kr({ loc: this, chars: t || r });
1433
+ return JSON.stringify(r), JSON.stringify(t), new yr({ loc: this, chars: t || r });
1434
1434
  }
1435
1435
  get start() {
1436
1436
  return this.loc.start;
@@ -1509,11 +1509,11 @@ var yr = class {
1509
1509
  }
1510
1510
  };
1511
1511
  Ut = /* @__PURE__ */ new WeakMap();
1512
- var ut, Et, oe = class {
1512
+ var ut, vt, oe = class {
1513
1513
  constructor(t, r, s = null) {
1514
1514
  Lt(this, ut);
1515
- Lt(this, Et);
1516
- this.source = t, this.hbsPositions = r, this.kind = "HbsPosition", Y(this, ut, null), Y(this, Et, s);
1515
+ Lt(this, vt);
1516
+ this.source = t, this.hbsPositions = r, this.kind = "HbsPosition", Y(this, ut, null), Y(this, vt, s);
1517
1517
  }
1518
1518
  serialize() {
1519
1519
  let t = this.toCharPosSpan();
@@ -1523,7 +1523,7 @@ var ut, Et, oe = class {
1523
1523
  return new D(this);
1524
1524
  }
1525
1525
  updateProvided(t, r) {
1526
- I(this, Et) && (I(this, Et)[r] = t), Y(this, ut, null), Y(this, Et, { start: t, end: t });
1526
+ I(this, vt) && (I(this, vt)[r] = t), Y(this, ut, null), Y(this, vt, { start: t, end: t });
1527
1527
  }
1528
1528
  locDidUpdate({ start: t, end: r }) {
1529
1529
  t !== void 0 && (this.updateProvided(t, "start"), this.hbsPositions.start = new mt(this.source, t, null)), r !== void 0 && (this.updateProvided(r, "end"), this.hbsPositions.end = new mt(this.source, r, null));
@@ -1557,7 +1557,7 @@ var ut, Et, oe = class {
1557
1557
  return t === ft ? null : t;
1558
1558
  }
1559
1559
  };
1560
- ut = /* @__PURE__ */ new WeakMap(), Et = /* @__PURE__ */ new WeakMap();
1560
+ ut = /* @__PURE__ */ new WeakMap(), vt = /* @__PURE__ */ new WeakMap();
1561
1561
  var et = class {
1562
1562
  constructor(t, r, s = null) {
1563
1563
  this.kind = t, this.loc = r, this.string = s;
@@ -1598,7 +1598,7 @@ var et = class {
1598
1598
  toHbsLoc() {
1599
1599
  return ht;
1600
1600
  }
1601
- }, J = _s((e5) => e5.when("HbsPosition", "HbsPosition", (t, r) => new oe(t.source, { start: t, end: r }).wrap()).when("CharPosition", "CharPosition", (t, r) => new ae(t.source, { start: t, end: r }).wrap()).when("CharPosition", "HbsPosition", (t, r) => {
1601
+ }, J = Ls((e5) => e5.when("HbsPosition", "HbsPosition", (t, r) => new oe(t.source, { start: t, end: r }).wrap()).when("CharPosition", "CharPosition", (t, r) => new ae(t.source, { start: t, end: r }).wrap()).when("CharPosition", "HbsPosition", (t, r) => {
1602
1602
  let s = r.toCharPos();
1603
1603
  return s === null ? new et("Broken", ht).wrap() : J(t, s);
1604
1604
  }).when("HbsPosition", "CharPosition", (t, r) => {
@@ -1619,7 +1619,7 @@ var et = class {
1619
1619
  return t === null ? null : t.offset;
1620
1620
  }
1621
1621
  eql(t) {
1622
- return oi(this.data, t.data);
1622
+ return ni(this.data, t.data);
1623
1623
  }
1624
1624
  until(t) {
1625
1625
  return J(this.data, t.data);
@@ -1700,7 +1700,7 @@ var et = class {
1700
1700
  get offset() {
1701
1701
  return null;
1702
1702
  }
1703
- }, oi = _s((e5) => e5.when("HbsPosition", "HbsPosition", ({ hbsPos: t }, { hbsPos: r }) => t.column === r.column && t.line === r.line).when("CharPosition", "CharPosition", ({ charPos: t }, { charPos: r }) => t === r).when("CharPosition", "HbsPosition", ({ offset: t }, r) => {
1703
+ }, ni = Ls((e5) => e5.when("HbsPosition", "HbsPosition", ({ hbsPos: t }, { hbsPos: r }) => t.column === r.column && t.line === r.line).when("CharPosition", "CharPosition", ({ charPos: t }, { charPos: r }) => t === r).when("CharPosition", "HbsPosition", ({ offset: t }, r) => {
1704
1704
  var s;
1705
1705
  return t === ((s = r.toCharPos()) == null ? void 0 : s.offset);
1706
1706
  }).when("HbsPosition", "CharPosition", (t, { offset: r }) => {
@@ -1751,7 +1751,7 @@ var et = class {
1751
1751
  return n;
1752
1752
  }
1753
1753
  };
1754
- function v(e5, t) {
1754
+ function E(e5, t) {
1755
1755
  let { module: r, loc: s } = t, { line: n, column: i } = s.start, a = t.asString(), o = a ? `
1756
1756
 
1757
1757
  |
@@ -1763,21 +1763,21 @@ function v(e5, t) {
1763
1763
  ` : "", c = new Error(`${e5}: ${o}(error occurred in '${r}' @ line ${n} : column ${i})`);
1764
1764
  return c.name = "SyntaxError", c.location = t, c.code = a, c;
1765
1765
  }
1766
- var li = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] }, Cr = (function() {
1766
+ var ii = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] }, Nr = (function() {
1767
1767
  function e5(t, r, s, n) {
1768
1768
  let i = Error.call(this, t);
1769
1769
  this.key = n, this.message = t, this.node = r, this.parent = s, i.stack && (this.stack = i.stack);
1770
1770
  }
1771
1771
  return e5.prototype = Object.create(Error.prototype), e5.prototype.constructor = e5, e5;
1772
1772
  })();
1773
- function Ts(e5, t, r) {
1774
- return new Cr("Cannot remove a node unless it is part of an array", e5, t, r);
1773
+ function ws(e5, t, r) {
1774
+ return new Nr("Cannot remove a node unless it is part of an array", e5, t, r);
1775
1775
  }
1776
- function ci(e5, t, r) {
1777
- return new Cr("Cannot replace a node with multiple nodes unless it is part of an array", e5, t, r);
1776
+ function ai(e5, t, r) {
1777
+ return new Nr("Cannot replace a node with multiple nodes unless it is part of an array", e5, t, r);
1778
1778
  }
1779
- function Ns(e5, t) {
1780
- return new Cr("Replacing and removing in key handlers is not yet supported.", e5, null, t);
1779
+ function Ts(e5, t) {
1780
+ return new Nr("Replacing and removing in key handlers is not yet supported.", e5, null, t);
1781
1781
  }
1782
1782
  var zt = class {
1783
1783
  constructor(t, r = null, s = null) {
@@ -1787,9 +1787,9 @@ var zt = class {
1787
1787
  return this.parent ? this.parent.node : null;
1788
1788
  }
1789
1789
  parents() {
1790
- return { [Symbol.iterator]: () => new Sr(this) };
1790
+ return { [Symbol.iterator]: () => new kr(this) };
1791
1791
  }
1792
- }, Sr = class {
1792
+ }, kr = class {
1793
1793
  constructor(t) {
1794
1794
  this.path = t;
1795
1795
  }
@@ -1797,10 +1797,10 @@ var zt = class {
1797
1797
  return this.path.parent ? (this.path = this.path.parent, { done: false, value: this.path }) : { done: true, value: null };
1798
1798
  }
1799
1799
  };
1800
- function Os(e5) {
1800
+ function Ds(e5) {
1801
1801
  return typeof e5 == "function" ? e5 : e5.enter;
1802
1802
  }
1803
- function Bs(e5) {
1803
+ function _s(e5) {
1804
1804
  return typeof e5 == "function" ? void 0 : e5.exit;
1805
1805
  }
1806
1806
  function Ae(e5, t) {
@@ -1809,21 +1809,21 @@ function Ae(e5, t) {
1809
1809
  let m = h[p];
1810
1810
  return m !== void 0 ? m : h.All;
1811
1811
  })(e5, i.type);
1812
- if (c !== void 0 && (r = Os(c), s = Bs(c)), r !== void 0 && (n = r(i, t)), n != null) {
1813
- if (JSON.stringify(i) !== JSON.stringify(n)) return Array.isArray(n) ? (Is(e5, n, a, o), n) : Ae(e5, new zt(n, a, o)) || n;
1812
+ if (c !== void 0 && (r = Ds(c), s = _s(c)), r !== void 0 && (n = r(i, t)), n != null) {
1813
+ if (JSON.stringify(i) !== JSON.stringify(n)) return Array.isArray(n) ? (Os(e5, n, a, o), n) : Ae(e5, new zt(n, a, o)) || n;
1814
1814
  n = void 0;
1815
1815
  }
1816
1816
  if (n === void 0) {
1817
- let h = li[i.type];
1818
- for (let p = 0; p < h.length; p++) ui(e5, c, t, h[p]);
1817
+ let h = ii[i.type];
1818
+ for (let p = 0; p < h.length; p++) oi(e5, c, t, h[p]);
1819
1819
  s !== void 0 && (n = s(i, t));
1820
1820
  }
1821
1821
  return n;
1822
1822
  }
1823
- function Cs(e5, t, r) {
1823
+ function Ns(e5, t, r) {
1824
1824
  e5[t] = r;
1825
1825
  }
1826
- function ui(e5, t, r, s) {
1826
+ function oi(e5, t, r, s) {
1827
1827
  let n, i, { node: a } = r, o = (function(c, h) {
1828
1828
  return c[h];
1829
1829
  })(a, s);
@@ -1835,36 +1835,36 @@ function ui(e5, t, r, s) {
1835
1835
  let S = m[p];
1836
1836
  return S !== void 0 ? S : m.All;
1837
1837
  })(t, s);
1838
- c !== void 0 && (n = Os(c), i = Bs(c));
1838
+ c !== void 0 && (n = Ds(c), i = _s(c));
1839
1839
  }
1840
- if (n !== void 0 && n(a, s) !== void 0) throw Ns(a, s);
1841
- if (Array.isArray(o)) Is(e5, o, r, s);
1840
+ if (n !== void 0 && n(a, s) !== void 0) throw Ts(a, s);
1841
+ if (Array.isArray(o)) Os(e5, o, r, s);
1842
1842
  else {
1843
1843
  let c = Ae(e5, new zt(o, r, s));
1844
1844
  c !== void 0 && (function(h, p, m, S) {
1845
- if (S === null) throw Ts(m, h, p);
1845
+ if (S === null) throw ws(m, h, p);
1846
1846
  if (Array.isArray(S)) {
1847
- if (S.length !== 1) throw S.length === 0 ? Ts(m, h, p) : ci(m, h, p);
1848
- Cs(h, p, S[0]);
1849
- } else Cs(h, p, S);
1847
+ if (S.length !== 1) throw S.length === 0 ? ws(m, h, p) : ai(m, h, p);
1848
+ Ns(h, p, S[0]);
1849
+ } else Ns(h, p, S);
1850
1850
  })(a, s, o, c);
1851
1851
  }
1852
- if (i !== void 0 && i(a, s) !== void 0) throw Ns(a, s);
1852
+ if (i !== void 0 && i(a, s) !== void 0) throw Ts(a, s);
1853
1853
  }
1854
1854
  }
1855
- function Is(e5, t, r, s) {
1855
+ function Os(e5, t, r, s) {
1856
1856
  for (let n = 0; n < t.length; n++) {
1857
1857
  let i = t[n], a = Ae(e5, new zt(i, r, s));
1858
- a !== void 0 && (n += hi(t, n, a) - 1);
1858
+ a !== void 0 && (n += li(t, n, a) - 1);
1859
1859
  }
1860
1860
  }
1861
- function hi(e5, t, r) {
1861
+ function li(e5, t, r) {
1862
1862
  return r === null ? (e5.splice(t, 1), 0) : Array.isArray(r) ? (e5.splice(t, 1, ...r), r.length) : (e5.splice(t, 1, r), 1);
1863
1863
  }
1864
- function pi(e5, t) {
1864
+ function ci(e5, t) {
1865
1865
  Ae(t, new zt(e5));
1866
1866
  }
1867
- function Ht(e5, t) {
1867
+ function Ft(e5, t) {
1868
1868
  (function(r) {
1869
1869
  switch (r.type) {
1870
1870
  case "Block":
@@ -1875,14 +1875,14 @@ function Ht(e5, t) {
1875
1875
  }
1876
1876
  })(e5).push(t);
1877
1877
  }
1878
- function Rs(e5) {
1878
+ function Bs(e5) {
1879
1879
  return e5.type === "StringLiteral" || e5.type === "BooleanLiteral" || e5.type === "NumberLiteral" || e5.type === "NullLiteral" || e5.type === "UndefinedLiteral";
1880
1880
  }
1881
- var ur;
1882
- function hr() {
1883
- return ur || (ur = new wt("", "(synthetic)")), ur;
1881
+ var cr;
1882
+ function ur() {
1883
+ return cr || (cr = new wt("", "(synthetic)")), cr;
1884
1884
  }
1885
- function xs(e5, t) {
1885
+ function Cs(e5, t) {
1886
1886
  return f.var({ name: e5, loc: T(t || null) });
1887
1887
  }
1888
1888
  function ct(e5, t) {
@@ -1907,30 +1907,30 @@ function xe(e5, t, r) {
1907
1907
  function ie(e5 = [], t) {
1908
1908
  return f.hash({ pairs: e5, loc: T(t || null) });
1909
1909
  }
1910
- function qs(e5) {
1910
+ function Is(e5) {
1911
1911
  return e5.map((t) => typeof t == "string" ? f.var({ name: t, loc: D.synthetic(t) }) : t);
1912
1912
  }
1913
- function Ps(e5 = [], t = [], r = false, s) {
1914
- return f.blockItself({ body: e5, params: qs(t), chained: r, loc: T(s || null) });
1913
+ function xs(e5 = [], t = [], r = false, s) {
1914
+ return f.blockItself({ body: e5, params: Is(t), chained: r, loc: T(s || null) });
1915
1915
  }
1916
- function As(e5 = [], t = [], r) {
1916
+ function Ps(e5 = [], t = [], r) {
1917
1917
  return f.template({ body: e5, blockParams: t, loc: T(r || null) });
1918
1918
  }
1919
1919
  function T(...e5) {
1920
1920
  if (e5.length === 1) {
1921
1921
  let t = e5[0];
1922
- return t && typeof t == "object" ? D.forHbsLoc(hr(), t) : D.forHbsLoc(hr(), ai);
1922
+ return t && typeof t == "object" ? D.forHbsLoc(ur(), t) : D.forHbsLoc(ur(), si);
1923
1923
  }
1924
1924
  {
1925
- let [t, r, s, n, i] = e5, a = i ? new wt("", i) : hr();
1925
+ let [t, r, s, n, i] = e5, a = i ? new wt("", i) : ur();
1926
1926
  return D.forHbsLoc(a, { start: { line: t, column: r }, end: { line: s || t, column: n || r } });
1927
1927
  }
1928
1928
  }
1929
- var fi = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
1929
+ var ui = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
1930
1930
  return f.mustache({ path: ct(e5), params: t, hash: r, trusting: s, strip: i, loc: T(n || null) });
1931
1931
  }, block: function(e5, t, r, s, n = null, i, a, o, c) {
1932
1932
  let h, p = null;
1933
- return h = s.type === "Template" ? f.blockItself({ params: qs(s.blockParams), body: s.body, loc: s.loc }) : s, (n == null ? void 0 : n.type) === "Template" ? (n.blockParams.length, p = f.blockItself({ params: [], body: n.body, loc: n.loc })) : p = n, f.block({ path: ct(e5), params: t || [], hash: r || ie([]), defaultBlock: h, elseBlock: p, loc: T(i || null), openStrip: a, inverseStrip: o, closeStrip: c });
1933
+ return h = s.type === "Template" ? f.blockItself({ params: Is(s.blockParams), body: s.body, loc: s.loc }) : s, (n == null ? void 0 : n.type) === "Template" ? (n.blockParams.length, p = f.blockItself({ params: [], body: n.body, loc: n.loc })) : p = n, f.block({ path: ct(e5), params: t || [], hash: r || ie([]), defaultBlock: h, elseBlock: p, loc: T(i || null), openStrip: a, inverseStrip: o, closeStrip: c });
1934
1934
  }, comment: function(e5, t) {
1935
1935
  return f.comment({ value: e5, loc: T(t || null) });
1936
1936
  }, mustacheComment: function(e5, t) {
@@ -1938,8 +1938,8 @@ var fi = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
1938
1938
  }, element: function(e5, t = {}) {
1939
1939
  let r, s, { attrs: n, blockParams: i, modifiers: a, comments: o, children: c, openTag: h, closeTag: p, loc: m } = t;
1940
1940
  typeof e5 == "string" ? e5.endsWith("/") ? (r = ct(e5.slice(0, -1)), s = true) : r = ct(e5) : "type" in e5 ? (e5.type, e5.type, r = e5) : "path" in e5 ? (e5.path.type, e5.path.type, r = e5.path, s = e5.selfClosing) : (r = ct(e5.name), s = e5.selfClosing);
1941
- let S = i == null ? void 0 : i.map((E) => typeof E == "string" ? xs(E) : E), y = null;
1942
- return p ? y = T(p) : p === void 0 && (y = s || ni(r.original) ? null : T(null)), f.element({ path: r, selfClosing: s || false, attributes: n || [], params: S || [], modifiers: a || [], comments: o || [], children: c || [], openTag: T(h || null), closeTag: y, loc: T(m || null) });
1941
+ let S = i == null ? void 0 : i.map((v) => typeof v == "string" ? Cs(v) : v), y = null;
1942
+ return p ? y = T(p) : p === void 0 && (y = s || ei(r.original) ? null : T(null)), f.element({ path: r, selfClosing: s || false, attributes: n || [], params: S || [], modifiers: a || [], comments: o || [], children: c || [], openTag: T(h || null), closeTag: y, loc: T(m || null) });
1943
1943
  }, elementModifier: function(e5, t, r, s) {
1944
1944
  return f.elementModifier({ path: ct(e5), params: t || [], hash: r || ie([]), loc: T(s || null) });
1945
1945
  }, attr: function(e5, t, r) {
@@ -1954,8 +1954,8 @@ var fi = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
1954
1954
  }, hash: ie, pair: function(e5, t, r) {
1955
1955
  return f.pair({ key: e5, value: t, loc: T(r || null) });
1956
1956
  }, literal: xe, program: function(e5, t, r) {
1957
- return t && t.length ? Ps(e5, t, false, r) : As(e5, [], r);
1958
- }, blockItself: Ps, template: As, loc: T, pos: function(e5, t) {
1957
+ return t && t.length ? xs(e5, t, false, r) : Ps(e5, [], r);
1958
+ }, blockItself: xs, template: Ps, loc: T, pos: function(e5, t) {
1959
1959
  return f.pos({ line: e5, column: t });
1960
1960
  }, path: ct, fullPath: function(e5, t = [], r) {
1961
1961
  return f.path({ head: e5, tail: t, loc: T(r || null) });
@@ -1963,10 +1963,10 @@ var fi = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
1963
1963
  return f.head({ original: e5, loc: T(t || null) });
1964
1964
  }, at: function(e5, t) {
1965
1965
  return f.atName({ name: e5, loc: T(t || null) });
1966
- }, var: xs, this: function(e5) {
1966
+ }, var: Cs, this: function(e5) {
1967
1967
  return f.this({ loc: T(e5 || null) });
1968
- }, string: pr("StringLiteral"), boolean: pr("BooleanLiteral"), number: pr("NumberLiteral"), undefined: () => xe("UndefinedLiteral", void 0), null: () => xe("NullLiteral", null) };
1969
- function pr(e5) {
1968
+ }, string: hr("StringLiteral"), boolean: hr("BooleanLiteral"), number: hr("NumberLiteral"), undefined: () => xe("UndefinedLiteral", void 0), null: () => xe("NullLiteral", null) };
1969
+ function hr(e5) {
1970
1970
  return function(t, r) {
1971
1971
  return xe(e5, t, r);
1972
1972
  };
@@ -2041,7 +2041,7 @@ var Ce = { close: false, open: false }, f = new class {
2041
2041
  return [this.head.original, ...this.tail].join(".");
2042
2042
  }, set original(o) {
2043
2043
  let [c, ...h] = o.split(".");
2044
- this.head = fi.head(c, this.head.loc), this.tail = h;
2044
+ this.head = ui.head(c, this.head.loc), this.tail = h;
2045
2045
  }, loc: i };
2046
2046
  return Object.defineProperty(a, "parts", { enumerable: false, get() {
2047
2047
  let o = this.original.split(".");
@@ -2105,9 +2105,9 @@ var Ce = { close: false, open: false }, f = new class {
2105
2105
  } }), a;
2106
2106
  })({ type: e5, value: t, loc: r });
2107
2107
  }
2108
- }(), vr = class {
2109
- constructor(t, r = new lr(Es), s = "precompile") {
2110
- this.elementStack = [], this.currentAttribute = null, this.currentNode = null, this.source = t, this.lines = t.source.split(/\r\n?|\n/u), this.tokenizer = new cr(this, r, s);
2108
+ }(), Sr = class {
2109
+ constructor(t, r = new or(Es), s = "precompile") {
2110
+ this.elementStack = [], this.currentAttribute = null, this.currentNode = null, this.source = t, this.lines = t.source.split(/\r\n?|\n/u), this.tokenizer = new lr(this, r, s);
2111
2111
  }
2112
2112
  offset() {
2113
2113
  let { line: t, column: r } = this.tokenizer;
@@ -2117,7 +2117,7 @@ var Ce = { close: false, open: false }, f = new class {
2117
2117
  return this.source.offsetFor(t, r);
2118
2118
  }
2119
2119
  finish(t) {
2120
- return tr({}, t, { loc: t.start.until(this.offset()) });
2120
+ return Ze({}, t, { loc: t.start.until(this.offset()) });
2121
2121
  }
2122
2122
  get currentAttr() {
2123
2123
  return this.currentAttribute;
@@ -2146,7 +2146,7 @@ var Ce = { close: false, open: false }, f = new class {
2146
2146
  return this[t.type](t);
2147
2147
  }
2148
2148
  currentElement() {
2149
- return Nr(this.elementStack);
2149
+ return Tr(this.elementStack);
2150
2150
  }
2151
2151
  sourceForNode(t, r) {
2152
2152
  let s, n, i, a = t.loc.start.line - 1, o = a - 1, c = t.loc.start.column, h = [];
@@ -2154,7 +2154,7 @@ var Ce = { close: false, open: false }, f = new class {
2154
2154
  return h.join(`
2155
2155
  `);
2156
2156
  }
2157
- }, Er = class extends vr {
2157
+ }, Er = class extends Sr {
2158
2158
  parse(t, r) {
2159
2159
  var i;
2160
2160
  t.loc;
@@ -2176,7 +2176,7 @@ var Ce = { close: false, open: false }, f = new class {
2176
2176
  s = this.elementStack.pop();
2177
2177
  }
2178
2178
  if (t !== s) {
2179
- if ((s == null ? void 0 : s.type) === "ElementNode") throw v(`Unclosed element \`${s.tag}\``, s.loc);
2179
+ if ((s == null ? void 0 : s.type) === "ElementNode") throw E(`Unclosed element \`${s.tag}\``, s.loc);
2180
2180
  t.type;
2181
2181
  }
2182
2182
  return t;
@@ -2184,19 +2184,19 @@ var Ce = { close: false, open: false }, f = new class {
2184
2184
  BlockStatement(t) {
2185
2185
  var m;
2186
2186
  if (this.tokenizer.state === "comment") return t.loc, void this.appendToCommentData(this.sourceForNode(t));
2187
- if (this.tokenizer.state !== "data" && this.tokenizer.state !== "beforeData") throw v("A block may only be used inside an HTML element or another block.", this.source.spanFor(t.loc));
2188
- let { path: r, params: s, hash: n } = fr(this, t), i = this.source.spanFor(t.loc), a, o = [];
2187
+ if (this.tokenizer.state !== "data" && this.tokenizer.state !== "beforeData") throw E("A block may only be used inside an HTML element or another block.", this.source.spanFor(t.loc));
2188
+ let { path: r, params: s, hash: n } = pr(this, t), i = this.source.spanFor(t.loc), a, o = [];
2189
2189
  if ((m = t.program.blockParams) != null && m.length) {
2190
2190
  let S = n.loc.collapse("end");
2191
- S = t.program.loc ? S.withEnd(this.source.spanFor(t.program.loc).getStart()) : t.program.body[0] ? S.withEnd(this.source.spanFor(t.program.body[0].loc).getStart()) : S.withEnd(i.getEnd()), a = Ls(this.source, t, S);
2192
- let y = S.asString(), E = y.indexOf("|") + 1, C = y.indexOf("|", E);
2191
+ S = t.program.loc ? S.withEnd(this.source.spanFor(t.program.loc).getStart()) : t.program.body[0] ? S.withEnd(this.source.spanFor(t.program.body[0].loc).getStart()) : S.withEnd(i.getEnd()), a = As(this.source, t, S);
2192
+ let y = S.asString(), v = y.indexOf("|") + 1, C = y.indexOf("|", v);
2193
2193
  for (let x of t.program.blockParams) {
2194
2194
  let w, U;
2195
- w = E >= C ? -1 : y.indexOf(x, E), w === -1 || w + x.length > C ? (E = C, U = this.source.spanFor(gr)) : (E = w, U = S.sliceStartChars({ skipStart: E, chars: x.length }), E += x.length), o.push(f.var({ name: x, loc: U }));
2195
+ w = v >= C ? -1 : y.indexOf(x, v), w === -1 || w + x.length > C ? (v = C, U = this.source.spanFor(dr)) : (v = w, U = S.sliceStartChars({ skipStart: v, chars: x.length }), v += x.length), o.push(f.var({ name: x, loc: U }));
2196
2196
  }
2197
- } else a = Ls(this.source, t, i);
2197
+ } else a = As(this.source, t, i);
2198
2198
  let c = this.Program(a.program, o), h = a.inverse ? this.Program(a.inverse, []) : null, p = f.block({ path: r, params: s, hash: n, defaultBlock: c, elseBlock: h, loc: this.source.spanFor(t.loc), openStrip: t.openStrip, inverseStrip: t.inverseStrip, closeStrip: t.closeStrip });
2199
- Ht(this.currentElement(), p);
2199
+ Ft(this.currentElement(), p);
2200
2200
  }
2201
2201
  MustacheStatement(t) {
2202
2202
  var o;
@@ -2204,25 +2204,25 @@ var Ce = { close: false, open: false }, f = new class {
2204
2204
  let { tokenizer: r } = this;
2205
2205
  if (r.state === "comment") return void this.appendToCommentData(this.sourceForNode(t));
2206
2206
  let s, { escaped: n, loc: i, strip: a } = t;
2207
- if ("original" in t.path && t.path.original === "...attributes") throw v("Illegal use of ...attributes", this.source.spanFor(t.loc));
2208
- if (Rs(t.path)) s = f.mustache({ path: this.acceptNode(t.path), params: [], hash: f.hash({ pairs: [], loc: this.source.spanFor(t.path.loc).collapse("end") }), trusting: !n, loc: this.source.spanFor(i), strip: a });
2207
+ if ("original" in t.path && t.path.original === "...attributes") throw E("Illegal use of ...attributes", this.source.spanFor(t.loc));
2208
+ if (Bs(t.path)) s = f.mustache({ path: this.acceptNode(t.path), params: [], hash: f.hash({ pairs: [], loc: this.source.spanFor(t.path.loc).collapse("end") }), trusting: !n, loc: this.source.spanFor(i), strip: a });
2209
2209
  else {
2210
- let { path: c, params: h, hash: p } = fr(this, t);
2210
+ let { path: c, params: h, hash: p } = pr(this, t);
2211
2211
  s = f.mustache({ path: c, params: h, hash: p, trusting: !n, loc: this.source.spanFor(i), strip: a });
2212
2212
  }
2213
2213
  switch (r.state) {
2214
2214
  case "tagOpen":
2215
2215
  case "tagName":
2216
- throw v("Cannot use mustaches in an elements tagname", s.loc);
2216
+ throw E("Cannot use mustaches in an elements tagname", s.loc);
2217
2217
  case "beforeAttributeName":
2218
- mr(this.currentStartTag, s);
2218
+ fr(this.currentStartTag, s);
2219
2219
  break;
2220
2220
  case "attributeName":
2221
2221
  case "afterAttributeName":
2222
- this.beginAttributeValue(false), this.finishAttributeValue(), mr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2222
+ this.beginAttributeValue(false), this.finishAttributeValue(), fr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2223
2223
  break;
2224
2224
  case "afterAttributeValueQuoted":
2225
- mr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2225
+ fr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2226
2226
  break;
2227
2227
  case "beforeAttributeValue":
2228
2228
  this.beginAttributeValue(false), this.appendDynamicAttributeValuePart(s), r.transitionTo("attributeValueUnquoted");
@@ -2233,7 +2233,7 @@ var Ce = { close: false, open: false }, f = new class {
2233
2233
  this.appendDynamicAttributeValuePart(s);
2234
2234
  break;
2235
2235
  default:
2236
- Ht(this.currentElement(), s);
2236
+ Ft(this.currentElement(), s);
2237
2237
  }
2238
2238
  return s;
2239
2239
  }
@@ -2271,49 +2271,49 @@ var Ce = { close: false, open: false }, f = new class {
2271
2271
  break;
2272
2272
  case "beforeData":
2273
2273
  case "data":
2274
- Ht(this.currentElement(), i);
2274
+ Ft(this.currentElement(), i);
2275
2275
  break;
2276
2276
  default:
2277
- throw v(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`, this.source.spanFor(t.loc));
2277
+ throw E(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`, this.source.spanFor(t.loc));
2278
2278
  }
2279
2279
  return i;
2280
2280
  }
2281
2281
  PartialStatement(t) {
2282
- throw v("Handlebars partials are not supported", this.source.spanFor(t.loc));
2282
+ throw E("Handlebars partials are not supported", this.source.spanFor(t.loc));
2283
2283
  }
2284
2284
  PartialBlockStatement(t) {
2285
- throw v("Handlebars partial blocks are not supported", this.source.spanFor(t.loc));
2285
+ throw E("Handlebars partial blocks are not supported", this.source.spanFor(t.loc));
2286
2286
  }
2287
2287
  Decorator(t) {
2288
- throw v("Handlebars decorators are not supported", this.source.spanFor(t.loc));
2288
+ throw E("Handlebars decorators are not supported", this.source.spanFor(t.loc));
2289
2289
  }
2290
2290
  DecoratorBlock(t) {
2291
- throw v("Handlebars decorator blocks are not supported", this.source.spanFor(t.loc));
2291
+ throw E("Handlebars decorator blocks are not supported", this.source.spanFor(t.loc));
2292
2292
  }
2293
2293
  SubExpression(t) {
2294
- let { path: r, params: s, hash: n } = fr(this, t);
2294
+ let { path: r, params: s, hash: n } = pr(this, t);
2295
2295
  return f.sexpr({ path: r, params: s, hash: n, loc: this.source.spanFor(t.loc) });
2296
2296
  }
2297
2297
  PathExpression(t) {
2298
2298
  let { original: r } = t, s;
2299
2299
  if (r.indexOf("/") !== -1) {
2300
- if (r.slice(0, 2) === "./") throw v('Using "./" is not supported in Glimmer and unnecessary', this.source.spanFor(t.loc));
2301
- if (r.slice(0, 3) === "../") throw v('Changing context using "../" is not supported in Glimmer', this.source.spanFor(t.loc));
2302
- if (r.indexOf(".") !== -1) throw v("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths", this.source.spanFor(t.loc));
2300
+ if (r.slice(0, 2) === "./") throw E('Using "./" is not supported in Glimmer and unnecessary', this.source.spanFor(t.loc));
2301
+ if (r.slice(0, 3) === "../") throw E('Changing context using "../" is not supported in Glimmer', this.source.spanFor(t.loc));
2302
+ if (r.indexOf(".") !== -1) throw E("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths", this.source.spanFor(t.loc));
2303
2303
  s = [t.parts.join("/")];
2304
2304
  } else {
2305
- if (r === ".") throw v("'.' is not a supported path in Glimmer; check for a path with a trailing '.'", this.source.spanFor(t.loc));
2305
+ if (r === ".") throw E("'.' is not a supported path in Glimmer; check for a path with a trailing '.'", this.source.spanFor(t.loc));
2306
2306
  s = t.parts;
2307
2307
  }
2308
2308
  let n, i = false;
2309
2309
  if (/^this(?:\..+)?$/u.test(r) && (i = true), i) n = f.this({ loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + 4 } }) });
2310
2310
  else if (t.data) {
2311
2311
  let a = s.shift();
2312
- if (a === void 0) throw v("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.", this.source.spanFor(t.loc));
2312
+ if (a === void 0) throw E("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.", this.source.spanFor(t.loc));
2313
2313
  n = f.atName({ name: `@${a}`, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length + 1 } }) });
2314
2314
  } else {
2315
2315
  let a = s.shift();
2316
- if (a === void 0) throw v("Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.", this.source.spanFor(t.loc));
2316
+ if (a === void 0) throw E("Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.", this.source.spanFor(t.loc));
2317
2317
  n = f.var({ name: a, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length } }) });
2318
2318
  }
2319
2319
  return f.path({ head: n, tail: s, loc: this.source.spanFor(t.loc) });
@@ -2341,7 +2341,7 @@ var Ce = { close: false, open: false }, f = new class {
2341
2341
  super(...t), this.pendingError = null;
2342
2342
  }
2343
2343
  };
2344
- function fr(e5, t) {
2344
+ function pr(e5, t) {
2345
2345
  let r;
2346
2346
  switch (t.path.type) {
2347
2347
  case "PathExpression":
@@ -2356,24 +2356,24 @@ function fr(e5, t) {
2356
2356
  case "NumberLiteral":
2357
2357
  case "BooleanLiteral": {
2358
2358
  let i;
2359
- throw i = t.path.type === "BooleanLiteral" ? t.path.original.toString() : t.path.type === "StringLiteral" ? `"${t.path.original}"` : t.path.type === "NullLiteral" ? "null" : t.path.type === "NumberLiteral" ? t.path.value.toString() : "undefined", v(`${t.path.type} "${t.path.type === "StringLiteral" ? t.path.original : i}" cannot be called as a sub-expression, replace (${i}) with ${i}`, e5.source.spanFor(t.path.loc));
2359
+ throw i = t.path.type === "BooleanLiteral" ? t.path.original.toString() : t.path.type === "StringLiteral" ? `"${t.path.original}"` : t.path.type === "NullLiteral" ? "null" : t.path.type === "NumberLiteral" ? t.path.value.toString() : "undefined", E(`${t.path.type} "${t.path.type === "StringLiteral" ? t.path.original : i}" cannot be called as a sub-expression, replace (${i}) with ${i}`, e5.source.spanFor(t.path.loc));
2360
2360
  }
2361
2361
  }
2362
- let s = t.params.map((i) => e5.acceptNode(i)), n = ce(s) ? Nr(s).loc : r.loc;
2362
+ let s = t.params.map((i) => e5.acceptNode(i)), n = ce(s) ? Tr(s).loc : r.loc;
2363
2363
  return { path: r, params: s, hash: t.hash ? e5.Hash(t.hash) : f.hash({ pairs: [], loc: e5.source.spanFor(n).collapse("end") }) };
2364
2364
  }
2365
- function mr(e5, t) {
2365
+ function fr(e5, t) {
2366
2366
  let { path: r, params: s, hash: n, loc: i } = t;
2367
- if (Rs(r)) {
2367
+ if (Bs(r)) {
2368
2368
  let o = `{{${(function(c) {
2369
2369
  return c.type === "UndefinedLiteral" ? "undefined" : JSON.stringify(c.value);
2370
2370
  })(r)}}}`;
2371
- throw v(`In <${e5.name} ... ${o} ..., ${o} is not a valid modifier`, t.loc);
2371
+ throw E(`In <${e5.name} ... ${o} ..., ${o} is not a valid modifier`, t.loc);
2372
2372
  }
2373
2373
  let a = f.elementModifier({ path: r, params: s, hash: n, loc: i });
2374
2374
  e5.modifiers.push(a);
2375
2375
  }
2376
- function Ls(e5, t, r) {
2376
+ function As(e5, t, r) {
2377
2377
  if (!t.program.loc) {
2378
2378
  let n = G(false, t.program.body, 0), i = G(false, t.program.body, -1);
2379
2379
  if (n && i) t.program.loc = { ...n.loc, end: i.loc.end };
@@ -2385,10 +2385,10 @@ function Ls(e5, t, r) {
2385
2385
  let s = e5.spanFor(t.program.loc).getEnd();
2386
2386
  return t.inverse && !t.inverse.loc && (t.inverse.loc = s.collapsed()), t;
2387
2387
  }
2388
- function Ft(e5) {
2388
+ function Ht(e5) {
2389
2389
  return /[\t\n\f ]/u.test(e5);
2390
2390
  }
2391
- var wr = class extends Er {
2391
+ var vr = class extends Er {
2392
2392
  reset() {
2393
2393
  this.currentNode = null;
2394
2394
  }
@@ -2399,7 +2399,7 @@ var wr = class extends Er {
2399
2399
  this.currentComment.value += t;
2400
2400
  }
2401
2401
  finishComment() {
2402
- Ht(this.currentElement(), f.comment(this.finish(this.currentComment)));
2402
+ Ft(this.currentElement(), f.comment(this.finish(this.currentComment)));
2403
2403
  }
2404
2404
  beginData() {
2405
2405
  this.currentNode = { type: "TextNode", chars: "", start: this.offset() };
@@ -2408,7 +2408,7 @@ var wr = class extends Er {
2408
2408
  this.currentData.chars += t;
2409
2409
  }
2410
2410
  finishData() {
2411
- Ht(this.currentElement(), f.text(this.finish(this.currentData)));
2411
+ Ft(this.currentElement(), f.text(this.finish(this.currentData)));
2412
2412
  }
2413
2413
  tagOpen() {
2414
2414
  this.tagOpenLine = this.tokenizer.line, this.tagOpenColumn = this.tokenizer.column;
@@ -2422,23 +2422,23 @@ var wr = class extends Er {
2422
2422
  finishTag() {
2423
2423
  let t = this.finish(this.currentTag);
2424
2424
  if (t.type === "StartTag") {
2425
- if (this.finishStartTag(), t.name === ":") throw v("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter", this.source.spanFor({ start: this.currentTag.start.toJSON(), end: this.offset().toJSON() }));
2426
- (dr.has(t.name) || t.selfClosing) && this.finishEndTag(true);
2425
+ if (this.finishStartTag(), t.name === ":") throw E("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter", this.source.spanFor({ start: this.currentTag.start.toJSON(), end: this.offset().toJSON() }));
2426
+ (mr.has(t.name) || t.selfClosing) && this.finishEndTag(true);
2427
2427
  } else t.type, t.type, this.finishEndTag(false);
2428
2428
  }
2429
2429
  finishStartTag() {
2430
- let { name: t, nameStart: r, nameEnd: s } = this.currentStartTag, n = r.until(s), [i, ...a] = t.split("."), o = f.path({ head: f.head({ original: i, loc: n.sliceStartChars({ chars: i.length }) }), tail: a, loc: n }), { attributes: c, modifiers: h, comments: p, params: m, selfClosing: S, loc: y } = this.finish(this.currentStartTag), E = f.element({ path: o, selfClosing: S, attributes: c, modifiers: h, comments: p, params: m, children: [], openTag: y, closeTag: S ? null : D.broken(), loc: y });
2431
- this.elementStack.push(E);
2430
+ let { name: t, nameStart: r, nameEnd: s } = this.currentStartTag, n = r.until(s), [i, ...a] = t.split("."), o = f.path({ head: f.head({ original: i, loc: n.sliceStartChars({ chars: i.length }) }), tail: a, loc: n }), { attributes: c, modifiers: h, comments: p, params: m, selfClosing: S, loc: y } = this.finish(this.currentStartTag), v = f.element({ path: o, selfClosing: S, attributes: c, modifiers: h, comments: p, params: m, children: [], openTag: y, closeTag: S ? null : D.broken(), loc: y });
2431
+ this.elementStack.push(v);
2432
2432
  }
2433
2433
  finishEndTag(t) {
2434
2434
  let { start: r } = this.currentTag, s = this.finish(this.currentTag), n = this.elementStack.pop();
2435
2435
  this.validateEndTag(s, n, t);
2436
2436
  let i = this.currentElement();
2437
- t ? n.closeTag = null : n.selfClosing ? n.closeTag : n.closeTag = r.until(this.offset()), n.loc = n.loc.withEnd(this.offset()), Ht(i, f.element(n));
2437
+ t ? n.closeTag = null : n.selfClosing ? n.closeTag : n.closeTag = r.until(this.offset()), n.loc = n.loc.withEnd(this.offset()), Ft(i, f.element(n));
2438
2438
  }
2439
2439
  markTagAsSelfClosing() {
2440
2440
  let t = this.currentTag;
2441
- if (t.type !== "StartTag") throw v("Invalid end tag: closing tag must not be self-closing", this.source.spanFor({ start: t.start.toJSON(), end: this.offset().toJSON() }));
2441
+ if (t.type !== "StartTag") throw E("Invalid end tag: closing tag must not be self-closing", this.source.spanFor({ start: t.start.toJSON(), end: this.offset().toJSON() }));
2442
2442
  t.selfClosing = true;
2443
2443
  }
2444
2444
  appendToTagName(t) {
@@ -2470,9 +2470,9 @@ var wr = class extends Er {
2470
2470
  finishAttributeValue() {
2471
2471
  this.finalizeTextPart();
2472
2472
  let t = this.currentTag, r = this.offset();
2473
- if (t.type === "EndTag") throw v("Invalid end tag: closing tag must not have attributes", this.source.spanFor({ start: t.start.toJSON(), end: r.toJSON() }));
2473
+ if (t.type === "EndTag") throw E("Invalid end tag: closing tag must not have attributes", this.source.spanFor({ start: t.start.toJSON(), end: r.toJSON() }));
2474
2474
  let { name: s, parts: n, start: i, isQuoted: a, isDynamic: o, valueSpan: c } = this.currentAttr;
2475
- if (s.startsWith("|") && n.length === 0 && !a && !o) throw v("Invalid block parameters syntax: block parameters must be preceded by the `as` keyword", i.until(i.move(s.length)));
2475
+ if (s.startsWith("|") && n.length === 0 && !a && !o) throw E("Invalid block parameters syntax: block parameters must be preceded by the `as` keyword", i.until(i.move(s.length)));
2476
2476
  let h = this.assembleAttributeValue(n, a, o, i.until(r));
2477
2477
  h.loc = c.withEnd(r);
2478
2478
  let p = f.attr({ name: s, value: h, loc: i.until(r) });
@@ -2482,49 +2482,49 @@ var wr = class extends Er {
2482
2482
  let t = /[!"#%&'()*+./;<=>@[\\\]^`{|}~]/u;
2483
2483
  this.tokenizer.state;
2484
2484
  let r = this.currentStartTag, s = this.currentAttr, n = { state: "PossibleAs" }, i = { PossibleAs: (o) => {
2485
- if (n.state, Ft(o)) n = { state: "BeforeStartPipe" }, this.tokenizer.transitionTo("afterAttributeName"), this.tokenizer.consume();
2485
+ if (n.state, Ht(o)) n = { state: "BeforeStartPipe" }, this.tokenizer.transitionTo("afterAttributeName"), this.tokenizer.consume();
2486
2486
  else {
2487
- if (o === "|") throw v('Invalid block parameters syntax: expecting at least one space character between "as" and "|"', s.start.until(this.offset().move(1)));
2487
+ if (o === "|") throw E('Invalid block parameters syntax: expecting at least one space character between "as" and "|"', s.start.until(this.offset().move(1)));
2488
2488
  n = { state: "Done" };
2489
2489
  }
2490
2490
  }, BeforeStartPipe: (o) => {
2491
- n.state, Ft(o) ? this.tokenizer.consume() : o === "|" ? (n = { state: "BeforeBlockParamName" }, this.tokenizer.transitionTo("beforeAttributeName"), this.tokenizer.consume()) : n = { state: "Done" };
2491
+ n.state, Ht(o) ? this.tokenizer.consume() : o === "|" ? (n = { state: "BeforeBlockParamName" }, this.tokenizer.transitionTo("beforeAttributeName"), this.tokenizer.consume()) : n = { state: "Done" };
2492
2492
  }, BeforeBlockParamName: (o) => {
2493
- if (n.state, Ft(o)) this.tokenizer.consume();
2493
+ if (n.state, Ht(o)) this.tokenizer.consume();
2494
2494
  else if (o === "") n = { state: "Done" }, this.pendingError = { mustache(c) {
2495
- throw v("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2495
+ throw E("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2496
2496
  }, eof(c) {
2497
- throw v('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2497
+ throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2498
2498
  } };
2499
2499
  else if (o === "|") {
2500
- if (r.params.length === 0) throw v("Invalid block parameters syntax: empty parameters list, expecting at least one identifier", s.start.until(this.offset().move(1)));
2500
+ if (r.params.length === 0) throw E("Invalid block parameters syntax: empty parameters list, expecting at least one identifier", s.start.until(this.offset().move(1)));
2501
2501
  n = { state: "AfterEndPipe" }, this.tokenizer.consume();
2502
2502
  } else {
2503
- if (o === ">" || o === "/") throw v('Invalid block parameters syntax: incomplete parameters list, expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2503
+ if (o === ">" || o === "/") throw E('Invalid block parameters syntax: incomplete parameters list, expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2504
2504
  n = { state: "BlockParamName", name: o, start: this.offset() }, this.tokenizer.consume();
2505
2505
  }
2506
2506
  }, BlockParamName: (o) => {
2507
2507
  if (n.state, o === "") n = { state: "Done" }, this.pendingError = { mustache(c) {
2508
- throw v("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2508
+ throw E("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2509
2509
  }, eof(c) {
2510
- throw v('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2510
+ throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2511
2511
  } };
2512
- else if (o === "|" || Ft(o)) {
2512
+ else if (o === "|" || Ht(o)) {
2513
2513
  let c = n.start.until(this.offset());
2514
- if (n.name === "this" || t.test(n.name)) throw v(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``, c);
2514
+ if (n.name === "this" || t.test(n.name)) throw E(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``, c);
2515
2515
  r.params.push(f.var({ name: n.name, loc: c })), n = o === "|" ? { state: "AfterEndPipe" } : { state: "BeforeBlockParamName" }, this.tokenizer.consume();
2516
2516
  } else {
2517
- if (o === ">" || o === "/") throw v('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2517
+ if (o === ">" || o === "/") throw E('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2518
2518
  n.name += o, this.tokenizer.consume();
2519
2519
  }
2520
2520
  }, AfterEndPipe: (o) => {
2521
- n.state, Ft(o) ? this.tokenizer.consume() : o === "" ? (n = { state: "Done" }, this.pendingError = { mustache(c) {
2522
- throw v("Invalid block parameters syntax: modifiers cannot follow parameters list", c);
2521
+ n.state, Ht(o) ? this.tokenizer.consume() : o === "" ? (n = { state: "Done" }, this.pendingError = { mustache(c) {
2522
+ throw E("Invalid block parameters syntax: modifiers cannot follow parameters list", c);
2523
2523
  }, eof(c) {
2524
- throw v('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2524
+ throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2525
2525
  } }) : o === ">" || o === "/" ? n = { state: "Done" } : (n = { state: "Error", message: 'Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', start: this.offset() }, this.tokenizer.consume());
2526
2526
  }, Error: (o) => {
2527
- if (n.state, o === "" || o === "/" || o === ">" || Ft(o)) throw v(n.message, n.start.until(this.offset()));
2527
+ if (n.state, o === "" || o === "/" || o === ">" || Ht(o)) throw E(n.message, n.start.until(this.offset()));
2528
2528
  this.tokenizer.consume();
2529
2529
  }, Done: () => {
2530
2530
  } }, a;
@@ -2534,16 +2534,16 @@ var wr = class extends Er {
2534
2534
  n.state;
2535
2535
  }
2536
2536
  reportSyntaxError(t) {
2537
- throw v(t, this.offset().collapsed());
2537
+ throw E(t, this.offset().collapsed());
2538
2538
  }
2539
2539
  assembleConcatenatedValue(t) {
2540
- let r = ii(t), s = Nr(t);
2540
+ let r = ri(t), s = Tr(t);
2541
2541
  return f.concat({ parts: t, loc: this.source.spanFor(r.loc).extend(this.source.spanFor(s.loc)) });
2542
2542
  }
2543
2543
  validateEndTag(t, r, s) {
2544
- if (dr.has(t.name) && !s) throw v(`<${t.name}> elements do not need end tags. You should remove it`, t.loc);
2545
- if (r.type !== "ElementNode") throw v(`Closing tag </${t.name}> without an open tag`, t.loc);
2546
- if (r.tag !== t.name) throw v(`Closing tag </${t.name}> did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`, t.loc);
2544
+ if (mr.has(t.name) && !s) throw E(`<${t.name}> elements do not need end tags. You should remove it`, t.loc);
2545
+ if (r.type !== "ElementNode") throw E(`Closing tag </${t.name}> without an open tag`, t.loc);
2546
+ if (r.tag !== t.name) throw E(`Closing tag </${t.name}> did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`, t.loc);
2547
2547
  }
2548
2548
  assembleAttributeValue(t, r, s, n) {
2549
2549
  if (s) {
@@ -2551,7 +2551,7 @@ var wr = class extends Er {
2551
2551
  {
2552
2552
  let [i, a] = t;
2553
2553
  if (a === void 0 || a.type === "TextNode" && a.chars === "/") return i;
2554
- throw v("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'", n);
2554
+ throw E("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'", n);
2555
2555
  }
2556
2556
  }
2557
2557
  return ce(t) ? t[0] : f.text({ chars: "", loc: n });
@@ -2559,91 +2559,58 @@ var wr = class extends Er {
2559
2559
  constructor(...t) {
2560
2560
  super(...t), this.tagOpenLine = 0, this.tagOpenColumn = 0;
2561
2561
  }
2562
- }, mi = {}, Tr = class extends lr {
2562
+ }, hi = {}, wr = class extends or {
2563
2563
  constructor() {
2564
2564
  super({});
2565
2565
  }
2566
2566
  parse() {
2567
2567
  }
2568
2568
  };
2569
- function Vs(e5, t = {}) {
2569
+ function Rs(e5, t = {}) {
2570
2570
  var c, h, p;
2571
2571
  let r, s, n, i = t.mode || "precompile";
2572
- typeof e5 == "string" ? (r = new wt(e5, (c = t.meta) == null ? void 0 : c.moduleName), s = i === "codemod" ? Te(e5, t.parseOptions) : or(e5, t.parseOptions)) : e5 instanceof wt ? (r = e5, s = i === "codemod" ? Te(e5.source, t.parseOptions) : or(e5.source, t.parseOptions)) : (r = new wt("", (h = t.meta) == null ? void 0 : h.moduleName), s = e5), i === "codemod" && (n = new Tr());
2572
+ typeof e5 == "string" ? (r = new wt(e5, (c = t.meta) == null ? void 0 : c.moduleName), s = i === "codemod" ? Te(e5, t.parseOptions) : ar(e5, t.parseOptions)) : e5 instanceof wt ? (r = e5, s = i === "codemod" ? Te(e5.source, t.parseOptions) : ar(e5.source, t.parseOptions)) : (r = new wt("", (h = t.meta) == null ? void 0 : h.moduleName), s = e5), i === "codemod" && (n = new wr());
2573
2573
  let a = D.forCharPositions(r, 0, r.source.length);
2574
2574
  s.loc = { source: "(program)", start: a.startPosition, end: a.endPosition };
2575
- let o = new wr(r, n, i).parse(s, t.locals ?? []);
2576
- if ((p = t.plugins) != null && p.ast) for (let m of t.plugins.ast) pi(o, m(tr({}, t, { syntax: mi }, { plugins: void 0 })).visitor);
2575
+ let o = new vr(r, n, i).parse(s, t.locals ?? []);
2576
+ if ((p = t.plugins) != null && p.ast) for (let m of t.plugins.ast) ci(o, m(Ze({}, t, { syntax: hi }, { plugins: void 0 })).visitor);
2577
2577
  return o;
2578
2578
  }
2579
- var Le = `
2580
- `, Fs = "\r", Hs = (function() {
2581
- function e5(t) {
2582
- this.length = t.length;
2583
- for (var r = [0], s = 0; s < t.length; ) switch (t[s]) {
2584
- case Le:
2585
- s += Le.length, r.push(s);
2586
- break;
2587
- case Fs:
2588
- s += Fs.length, t[s] === Le && (s += Le.length), r.push(s);
2589
- break;
2590
- default:
2591
- s++;
2592
- break;
2593
- }
2594
- this.offsets = r;
2595
- }
2596
- return e5.prototype.locationForIndex = function(t) {
2597
- if (t < 0 || t > this.length) return null;
2598
- for (var r = 0, s = this.offsets; s[r + 1] <= t; ) r++;
2599
- var n = t - s[r];
2600
- return { line: r, column: n };
2601
- }, e5.prototype.indexForLocation = function(t) {
2602
- var r = t.line, s = t.column;
2603
- return r < 0 || r >= this.offsets.length || s < 0 || s > this.lengthOfLine(r) ? null : this.offsets[r] + s;
2604
- }, e5.prototype.lengthOfLine = function(t) {
2605
- var r = this.offsets[t], s = t === this.offsets.length - 1 ? this.length : this.offsets[t + 1];
2606
- return s - r;
2607
- }, e5;
2608
- })();
2609
- function gi(e5, t) {
2579
+ function fi(e5, t) {
2610
2580
  let r = new SyntaxError(e5 + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2611
2581
  return Object.assign(r, t);
2612
2582
  }
2613
- var Us = gi;
2614
- function bi(e5) {
2583
+ var qs = fi;
2584
+ function mi(e5) {
2615
2585
  let t = e5.children ?? e5.body;
2616
2586
  if (t) for (let r = 0; r < t.length - 1; r++) t[r].type === "TextNode" && t[r + 1].type === "MustacheStatement" && (t[r].chars = t[r].chars.replace(/\\$/u, "\\\\"));
2617
2587
  }
2588
+ var di = (e5) => {
2589
+ let { start: t, end: r } = e5.loc;
2590
+ t.offset = e5.loc.getStart().offset, r.offset = e5.loc.getEnd().offset;
2591
+ }, gi = () => ({ name: "glimmerPrettierParsePlugin", visitor: { All(e5) {
2592
+ di(e5), mi(e5);
2593
+ } } }), bi = { mode: "codemod", plugins: { ast: [gi] } };
2618
2594
  function yi(e5) {
2619
- let t = new Hs(e5), r = ({ line: n, column: i }) => t.indexForLocation({ line: n - 1, column: i }), s = (n) => {
2620
- let { start: i, end: a } = n.loc;
2621
- i.offset = r(i), a.offset = r(a);
2622
- };
2623
- return () => ({ name: "prettierParsePlugin", visitor: { All(n) {
2624
- s(n), bi(n);
2625
- } } });
2626
- }
2627
- function ki(e5) {
2628
2595
  let t;
2629
2596
  try {
2630
- t = Vs(e5, { mode: "codemod", plugins: { ast: [yi(e5)] } });
2597
+ t = Rs(e5, bi);
2631
2598
  } catch (r) {
2632
- let s = vi(r);
2599
+ let s = Si(r);
2633
2600
  if (s) {
2634
- let n = Si(r);
2635
- throw Us(n, { loc: s, cause: r });
2601
+ let n = ki(r);
2602
+ throw qs(n, { loc: s, cause: r });
2636
2603
  }
2637
2604
  throw r;
2638
2605
  }
2639
2606
  return t;
2640
2607
  }
2641
- function Si(e5) {
2608
+ function ki(e5) {
2642
2609
  let { message: t } = e5, r = t.split(`
2643
2610
  `);
2644
2611
  return r.length >= 4 && /^Parse error on line \d+:$/u.test(r[0]) && /^-*\^$/u.test(G(false, r, -2)) ? G(false, r, -1) : r.length >= 4 && /:\s?$/u.test(r[0]) && /^\(error occurred in '.*?' @ line \d+ : column \d+\)$/u.test(G(false, r, -1)) && r[1] === "" && G(false, r, -2) === "" && r.slice(2, -2).every((s) => s.startsWith("|")) ? r[0].trim().slice(0, -1) : t;
2645
2612
  }
2646
- function vi(e5) {
2613
+ function Si(e5) {
2647
2614
  let { location: t, hash: r } = e5;
2648
2615
  if (t) {
2649
2616
  let { start: s, end: n } = t;
@@ -2654,8 +2621,8 @@ function vi(e5) {
2654
2621
  return { start: { line: s, column: n + 1 } };
2655
2622
  }
2656
2623
  }
2657
- var Ei = { parse: ki, astFormat: "glimmer", locStart: St, locEnd: re };
2658
- var wi = { glimmer: hs };
2659
- var Do = Pr;
2624
+ var Ei = { parse: yi, astFormat: "glimmer", locStart: St, locEnd: re };
2625
+ var vi = { glimmer: us };
2626
+ var Do = xr;
2660
2627
 
2661
- export { Do as default, ps as languages, xr as parsers, wi as printers };
2628
+ export { Do as default, hs as languages, Cr as parsers, vi as printers };