@npm-questionpro/wick-ui-editor 0.14.2 → 2.0.0-next.4

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.
@@ -0,0 +1,3574 @@
1
+ var Wu = Object.create, qe = Object.defineProperty, Ku = Object.getOwnPropertyDescriptor, zu = Object.getOwnPropertyNames, Xu = Object.getPrototypeOf, Uu = Object.prototype.hasOwnProperty, qu = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), He = (e, t) => {
2
+ for (var u in t) qe(e, u, {
3
+ get: t[u],
4
+ enumerable: !0
5
+ });
6
+ }, Hu = (e, t, u, r) => {
7
+ if (t && typeof t == "object" || typeof t == "function") for (let D of zu(t)) !Uu.call(e, D) && D !== u && qe(e, D, {
8
+ get: () => t[D],
9
+ enumerable: !(r = Ku(t, D)) || r.enumerable
10
+ });
11
+ return e;
12
+ }, Gu = (e, t, u) => (u = e != null ? Wu(Xu(e)) : {}, Hu(t || !e || !e.__esModule ? qe(u, "default", {
13
+ value: e,
14
+ enumerable: !0
15
+ }) : u, e)), Yu = qu((e, t) => {
16
+ var u, r, D, n, a, i, o, s, l, f, c, d, F = /\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy, p, g, v, E, b, C;
17
+ d = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y, u = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy, g = /(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y, c = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y, v = /[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y, C = /[\t\v\f\ufeff\p{Zs}]+/uy, s = /\r?\n|[\r\u2028\u2029]/y, l = /\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y, p = /\/\/.*/y, D = /[<>.:={}]|\/(?![\/*])/y, r = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy, n = /(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y, a = /[^<>{}]+/y, b = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/, E = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/, i = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/, o = /^(?:return|throw|yield)$/, f = RegExp(s.source), t.exports = function* (y, { jsx: w = !1 } = {}) {
18
+ var x, L, $, m, B, ce, h, P, fe, N, ne, A, ge, k;
19
+ for ({ length: ce } = y, m = 0, B = "", k = [{ tag: "JS" }], x = [], ne = 0, A = !1; m < ce; ) {
20
+ switch (P = k[k.length - 1], P.tag) {
21
+ case "JS":
22
+ case "JSNonExpressionParen":
23
+ case "InterpolationInTemplate":
24
+ case "InterpolationInJSX":
25
+ if (y[m] === "/" && (b.test(B) || i.test(B)) && (F.lastIndex = m, h = F.exec(y))) {
26
+ m = F.lastIndex, B = h[0], A = !0, yield {
27
+ type: "RegularExpressionLiteral",
28
+ value: h[0],
29
+ closed: h[1] !== void 0 && h[1] !== "\\"
30
+ };
31
+ continue;
32
+ }
33
+ if (d.lastIndex = m, h = d.exec(y)) {
34
+ switch (ge = h[0], fe = d.lastIndex, N = ge, ge) {
35
+ case "(":
36
+ B === "?NonExpressionParenKeyword" && k.push({
37
+ tag: "JSNonExpressionParen",
38
+ nesting: ne
39
+ }), ne++, A = !1;
40
+ break;
41
+ case ")":
42
+ ne--, A = !0, P.tag === "JSNonExpressionParen" && ne === P.nesting && (k.pop(), N = "?NonExpressionParenEnd", A = !1);
43
+ break;
44
+ case "{":
45
+ d.lastIndex = 0, $ = !E.test(B) && (b.test(B) || i.test(B)), x.push($), A = !1;
46
+ break;
47
+ case "}":
48
+ switch (P.tag) {
49
+ case "InterpolationInTemplate":
50
+ if (x.length === P.nesting) {
51
+ v.lastIndex = m, h = v.exec(y), m = v.lastIndex, B = h[0], h[1] === "${" ? (B = "?InterpolationInTemplate", A = !1, yield {
52
+ type: "TemplateMiddle",
53
+ value: h[0]
54
+ }) : (k.pop(), A = !0, yield {
55
+ type: "TemplateTail",
56
+ value: h[0],
57
+ closed: h[1] === "`"
58
+ });
59
+ continue;
60
+ }
61
+ break;
62
+ case "InterpolationInJSX":
63
+ if (x.length === P.nesting) {
64
+ k.pop(), m += 1, B = "}", yield {
65
+ type: "JSXPunctuator",
66
+ value: "}"
67
+ };
68
+ continue;
69
+ }
70
+ }
71
+ A = x.pop(), N = A ? "?ExpressionBraceEnd" : "}";
72
+ break;
73
+ case "]":
74
+ A = !0;
75
+ break;
76
+ case "++":
77
+ case "--":
78
+ N = A ? "?PostfixIncDec" : "?UnaryIncDec";
79
+ break;
80
+ case "<":
81
+ if (w && (b.test(B) || i.test(B))) {
82
+ k.push({ tag: "JSXTag" }), m += 1, B = "<", yield {
83
+ type: "JSXPunctuator",
84
+ value: ge
85
+ };
86
+ continue;
87
+ }
88
+ A = !1;
89
+ break;
90
+ default:
91
+ A = !1;
92
+ }
93
+ m = fe, B = N, yield {
94
+ type: "Punctuator",
95
+ value: ge
96
+ };
97
+ continue;
98
+ }
99
+ if (u.lastIndex = m, h = u.exec(y)) {
100
+ switch (m = u.lastIndex, N = h[0], h[0]) {
101
+ case "for":
102
+ case "if":
103
+ case "while":
104
+ case "with":
105
+ B !== "." && B !== "?." && (N = "?NonExpressionParenKeyword");
106
+ }
107
+ B = N, A = !i.test(h[0]), yield {
108
+ type: h[1] === "#" ? "PrivateIdentifier" : "IdentifierName",
109
+ value: h[0]
110
+ };
111
+ continue;
112
+ }
113
+ if (g.lastIndex = m, h = g.exec(y)) {
114
+ m = g.lastIndex, B = h[0], A = !0, yield {
115
+ type: "StringLiteral",
116
+ value: h[0],
117
+ closed: h[2] !== void 0
118
+ };
119
+ continue;
120
+ }
121
+ if (c.lastIndex = m, h = c.exec(y)) {
122
+ m = c.lastIndex, B = h[0], A = !0, yield {
123
+ type: "NumericLiteral",
124
+ value: h[0]
125
+ };
126
+ continue;
127
+ }
128
+ if (v.lastIndex = m, h = v.exec(y)) {
129
+ m = v.lastIndex, B = h[0], h[1] === "${" ? (B = "?InterpolationInTemplate", k.push({
130
+ tag: "InterpolationInTemplate",
131
+ nesting: x.length
132
+ }), A = !1, yield {
133
+ type: "TemplateHead",
134
+ value: h[0]
135
+ }) : (A = !0, yield {
136
+ type: "NoSubstitutionTemplate",
137
+ value: h[0],
138
+ closed: h[1] === "`"
139
+ });
140
+ continue;
141
+ }
142
+ break;
143
+ case "JSXTag":
144
+ case "JSXTagEnd":
145
+ if (D.lastIndex = m, h = D.exec(y)) {
146
+ switch (m = D.lastIndex, N = h[0], h[0]) {
147
+ case "<":
148
+ k.push({ tag: "JSXTag" });
149
+ break;
150
+ case ">":
151
+ k.pop(), B === "/" || P.tag === "JSXTagEnd" ? (N = "?JSX", A = !0) : k.push({ tag: "JSXChildren" });
152
+ break;
153
+ case "{":
154
+ k.push({
155
+ tag: "InterpolationInJSX",
156
+ nesting: x.length
157
+ }), N = "?InterpolationInJSX", A = !1;
158
+ break;
159
+ case "/":
160
+ B === "<" && (k.pop(), k[k.length - 1].tag === "JSXChildren" && k.pop(), k.push({ tag: "JSXTagEnd" }));
161
+ }
162
+ B = N, yield {
163
+ type: "JSXPunctuator",
164
+ value: h[0]
165
+ };
166
+ continue;
167
+ }
168
+ if (r.lastIndex = m, h = r.exec(y)) {
169
+ m = r.lastIndex, B = h[0], yield {
170
+ type: "JSXIdentifier",
171
+ value: h[0]
172
+ };
173
+ continue;
174
+ }
175
+ if (n.lastIndex = m, h = n.exec(y)) {
176
+ m = n.lastIndex, B = h[0], yield {
177
+ type: "JSXString",
178
+ value: h[0],
179
+ closed: h[2] !== void 0
180
+ };
181
+ continue;
182
+ }
183
+ break;
184
+ case "JSXChildren":
185
+ if (a.lastIndex = m, h = a.exec(y)) {
186
+ m = a.lastIndex, B = h[0], yield {
187
+ type: "JSXText",
188
+ value: h[0]
189
+ };
190
+ continue;
191
+ }
192
+ switch (y[m]) {
193
+ case "<":
194
+ k.push({ tag: "JSXTag" }), m++, B = "<", yield {
195
+ type: "JSXPunctuator",
196
+ value: "<"
197
+ };
198
+ continue;
199
+ case "{":
200
+ k.push({
201
+ tag: "InterpolationInJSX",
202
+ nesting: x.length
203
+ }), m++, B = "?InterpolationInJSX", A = !1, yield {
204
+ type: "JSXPunctuator",
205
+ value: "{"
206
+ };
207
+ continue;
208
+ }
209
+ }
210
+ if (C.lastIndex = m, h = C.exec(y)) {
211
+ m = C.lastIndex, yield {
212
+ type: "WhiteSpace",
213
+ value: h[0]
214
+ };
215
+ continue;
216
+ }
217
+ if (s.lastIndex = m, h = s.exec(y)) {
218
+ m = s.lastIndex, A = !1, o.test(B) && (B = "?NoLineTerminatorHere"), yield {
219
+ type: "LineTerminatorSequence",
220
+ value: h[0]
221
+ };
222
+ continue;
223
+ }
224
+ if (l.lastIndex = m, h = l.exec(y)) {
225
+ m = l.lastIndex, f.test(h[0]) && (A = !1, o.test(B) && (B = "?NoLineTerminatorHere")), yield {
226
+ type: "MultiLineComment",
227
+ value: h[0],
228
+ closed: h[1] !== void 0
229
+ };
230
+ continue;
231
+ }
232
+ if (p.lastIndex = m, h = p.exec(y)) {
233
+ m = p.lastIndex, A = !1, yield {
234
+ type: "SingleLineComment",
235
+ value: h[0]
236
+ };
237
+ continue;
238
+ }
239
+ L = String.fromCodePoint(y.codePointAt(m)), m += L.length, B = L, A = !1, yield {
240
+ type: P.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid",
241
+ value: L
242
+ };
243
+ }
244
+ };
245
+ }), Qu = {};
246
+ He(Qu, {
247
+ __debug: () => ja,
248
+ check: () => Ta,
249
+ doc: () => Lu,
250
+ format: () => Vu,
251
+ formatWithCursor: () => Ju,
252
+ getSupportInfo: () => Pa,
253
+ util: () => $u,
254
+ version: () => ia
255
+ });
256
+ var ve = (e, t) => (u, r, ...D) => u | 1 && r == null ? void 0 : (t.call(r) ?? r[e]).apply(r, D), Zu = String.prototype.replaceAll ?? function(e, t) {
257
+ return e.global ? this.replace(e, t) : this.split(e).join(t);
258
+ }, Ie = ve("replaceAll", function() {
259
+ if (typeof this == "string") return Zu;
260
+ }), er = class {
261
+ diff(e, t, u = {}) {
262
+ let r;
263
+ typeof u == "function" ? (r = u, u = {}) : "callback" in u && (r = u.callback);
264
+ let D = this.castInput(e, u), n = this.castInput(t, u), a = this.removeEmpty(this.tokenize(D, u)), i = this.removeEmpty(this.tokenize(n, u));
265
+ return this.diffWithOptionsObj(a, i, u, r);
266
+ }
267
+ diffWithOptionsObj(e, t, u, r) {
268
+ var D;
269
+ let n = (v) => {
270
+ if (v = this.postProcess(v, u), r) {
271
+ setTimeout(function() {
272
+ r(v);
273
+ }, 0);
274
+ return;
275
+ } else return v;
276
+ }, a = t.length, i = e.length, o = 1, s = a + i;
277
+ u.maxEditLength != null && (s = Math.min(s, u.maxEditLength));
278
+ let l = (D = u.timeout) !== null && D !== void 0 ? D : 1 / 0, f = Date.now() + l, c = [{
279
+ oldPos: -1,
280
+ lastComponent: void 0
281
+ }], d = this.extractCommon(c[0], t, e, 0, u);
282
+ if (c[0].oldPos + 1 >= i && d + 1 >= a) return n(this.buildValues(c[0].lastComponent, t, e));
283
+ let F = -1 / 0, p = 1 / 0, g = () => {
284
+ for (let v = Math.max(F, -o); v <= Math.min(p, o); v += 2) {
285
+ let E, b = c[v - 1], C = c[v + 1];
286
+ b && (c[v - 1] = void 0);
287
+ let y = !1;
288
+ if (C) {
289
+ let x = C.oldPos - v;
290
+ y = C && 0 <= x && x < a;
291
+ }
292
+ let w = b && b.oldPos + 1 < i;
293
+ if (!y && !w) {
294
+ c[v] = void 0;
295
+ continue;
296
+ }
297
+ if (!w || y && b.oldPos < C.oldPos ? E = this.addToPath(C, !0, !1, 0, u) : E = this.addToPath(b, !1, !0, 1, u), d = this.extractCommon(E, t, e, v, u), E.oldPos + 1 >= i && d + 1 >= a) return n(this.buildValues(E.lastComponent, t, e)) || !0;
298
+ c[v] = E, E.oldPos + 1 >= i && (p = Math.min(p, v - 1)), d + 1 >= a && (F = Math.max(F, v + 1));
299
+ }
300
+ o++;
301
+ };
302
+ if (r) (function v() {
303
+ setTimeout(function() {
304
+ if (o > s || Date.now() > f) return r(void 0);
305
+ g() || v();
306
+ }, 0);
307
+ })();
308
+ else for (; o <= s && Date.now() <= f; ) {
309
+ let v = g();
310
+ if (v) return v;
311
+ }
312
+ }
313
+ addToPath(e, t, u, r, D) {
314
+ let n = e.lastComponent;
315
+ return n && !D.oneChangePerToken && n.added === t && n.removed === u ? {
316
+ oldPos: e.oldPos + r,
317
+ lastComponent: {
318
+ count: n.count + 1,
319
+ added: t,
320
+ removed: u,
321
+ previousComponent: n.previousComponent
322
+ }
323
+ } : {
324
+ oldPos: e.oldPos + r,
325
+ lastComponent: {
326
+ count: 1,
327
+ added: t,
328
+ removed: u,
329
+ previousComponent: n
330
+ }
331
+ };
332
+ }
333
+ extractCommon(e, t, u, r, D) {
334
+ let n = t.length, a = u.length, i = e.oldPos, o = i - r, s = 0;
335
+ for (; o + 1 < n && i + 1 < a && this.equals(u[i + 1], t[o + 1], D); ) o++, i++, s++, D.oneChangePerToken && (e.lastComponent = {
336
+ count: 1,
337
+ previousComponent: e.lastComponent,
338
+ added: !1,
339
+ removed: !1
340
+ });
341
+ return s && !D.oneChangePerToken && (e.lastComponent = {
342
+ count: s,
343
+ previousComponent: e.lastComponent,
344
+ added: !1,
345
+ removed: !1
346
+ }), e.oldPos = i, o;
347
+ }
348
+ equals(e, t, u) {
349
+ return u.comparator ? u.comparator(e, t) : e === t || !!u.ignoreCase && e.toLowerCase() === t.toLowerCase();
350
+ }
351
+ removeEmpty(e) {
352
+ let t = [];
353
+ for (let u = 0; u < e.length; u++) e[u] && t.push(e[u]);
354
+ return t;
355
+ }
356
+ castInput(e, t) {
357
+ return e;
358
+ }
359
+ tokenize(e, t) {
360
+ return Array.from(e);
361
+ }
362
+ join(e) {
363
+ return e.join("");
364
+ }
365
+ postProcess(e, t) {
366
+ return e;
367
+ }
368
+ get useLongestToken() {
369
+ return !1;
370
+ }
371
+ buildValues(e, t, u) {
372
+ let r = [], D;
373
+ for (; e; ) r.push(e), D = e.previousComponent, delete e.previousComponent, e = D;
374
+ r.reverse();
375
+ let n = r.length, a = 0, i = 0, o = 0;
376
+ for (; a < n; a++) {
377
+ let s = r[a];
378
+ if (s.removed) s.value = this.join(u.slice(o, o + s.count)), o += s.count;
379
+ else {
380
+ if (!s.added && this.useLongestToken) {
381
+ let l = t.slice(i, i + s.count);
382
+ l = l.map(function(f, c) {
383
+ let d = u[o + c];
384
+ return d.length > f.length ? d : f;
385
+ }), s.value = this.join(l);
386
+ } else s.value = this.join(t.slice(i, i + s.count));
387
+ i += s.count, s.added || (o += s.count);
388
+ }
389
+ }
390
+ return r;
391
+ }
392
+ }, tr = class extends er {
393
+ tokenize(e) {
394
+ return e.slice();
395
+ }
396
+ join(e) {
397
+ return e;
398
+ }
399
+ removeEmpty(e) {
400
+ return e;
401
+ }
402
+ }, ur = new tr();
403
+ function rr(e, t, u) {
404
+ return ur.diff(e, t, u);
405
+ }
406
+ var nr = () => {
407
+ }, ee = nr, Jt = "cr", Vt = "crlf", Dr = "lf", Ge = "\r", Wt = `\r
408
+ `, Ne = `
409
+ `, ar = Ne;
410
+ function ir(e) {
411
+ let t = e.indexOf(Ge);
412
+ return t !== -1 ? e.charAt(t + 1) === Ne ? Vt : Jt : Dr;
413
+ }
414
+ function Ye(e) {
415
+ return e === Jt ? Ge : e === Vt ? Wt : ar;
416
+ }
417
+ var or = /* @__PURE__ */ new Map([
418
+ [Ne, /\n/gu],
419
+ [Ge, /\r/gu],
420
+ [Wt, /\r\n/gu]
421
+ ]);
422
+ function Kt(e, t) {
423
+ let u = or.get(t);
424
+ return e.match(u)?.length ?? 0;
425
+ }
426
+ var sr = /\r\n?/gu;
427
+ function lr(e) {
428
+ return Ie(0, e, sr, Ne);
429
+ }
430
+ function cr(e) {
431
+ return this[e < 0 ? this.length + e : e];
432
+ }
433
+ var S = ve("at", function() {
434
+ if (Array.isArray(this) || typeof this == "string") return cr;
435
+ }), se = "string", X = "array", ue = "cursor", U = "indent", q = "align", H = "trim", O = "group", V = "fill", T = "if-break", G = "indent-if-break", Y = "line-suffix", Q = "line-suffix-boundary", I = "line", W = "label", j = "break-parent", zt = /* @__PURE__ */ new Set([
436
+ ue,
437
+ U,
438
+ q,
439
+ H,
440
+ O,
441
+ V,
442
+ T,
443
+ G,
444
+ Y,
445
+ Q,
446
+ I,
447
+ W,
448
+ j
449
+ ]);
450
+ function fr(e) {
451
+ let t = e.length;
452
+ for (; t > 0 && (e[t - 1] === "\r" || e[t - 1] === `
453
+ `); ) t--;
454
+ return t < e.length ? e.slice(0, t) : e;
455
+ }
456
+ function dr(e) {
457
+ if (typeof e == "string") return se;
458
+ if (Array.isArray(e)) return X;
459
+ if (!e) return;
460
+ let { type: t } = e;
461
+ if (zt.has(t)) return t;
462
+ }
463
+ var le = dr, Fr = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
464
+ function pr(e) {
465
+ let t = e === null ? "null" : typeof e;
466
+ if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
467
+ Expected it to be 'string' or 'object'.`;
468
+ if (le(e)) throw new Error("doc is valid.");
469
+ let u = Object.prototype.toString.call(e);
470
+ if (u !== "[object Object]") return `Unexpected doc '${u}'.`;
471
+ let r = Fr([...zt].map((D) => `'${D}'`));
472
+ return `Unexpected doc.type '${e.type}'.
473
+ Expected it to be ${r}.`;
474
+ }
475
+ var hr = class extends Error {
476
+ name = "InvalidDocError";
477
+ constructor(e) {
478
+ super(pr(e)), this.doc = e;
479
+ }
480
+ }, pe = hr, pt = {};
481
+ function Cr(e, t, u, r) {
482
+ let D = [e];
483
+ for (; D.length > 0; ) {
484
+ let n = D.pop();
485
+ if (n === pt) {
486
+ u(D.pop());
487
+ continue;
488
+ }
489
+ u && D.push(n, pt);
490
+ let a = le(n);
491
+ if (!a) throw new pe(n);
492
+ if (t?.(n) !== !1) switch (a) {
493
+ case X:
494
+ case V: {
495
+ let i = a === X ? n : n.parts;
496
+ for (let o = i.length - 1; o >= 0; --o) D.push(i[o]);
497
+ break;
498
+ }
499
+ case T:
500
+ D.push(n.flatContents, n.breakContents);
501
+ break;
502
+ case O:
503
+ if (r && n.expandedStates) for (let i = n.expandedStates.length, o = i - 1; o >= 0; --o) D.push(n.expandedStates[o]);
504
+ else D.push(n.contents);
505
+ break;
506
+ case q:
507
+ case U:
508
+ case G:
509
+ case W:
510
+ case Y:
511
+ D.push(n.contents);
512
+ break;
513
+ case se:
514
+ case ue:
515
+ case H:
516
+ case Q:
517
+ case I:
518
+ case j:
519
+ break;
520
+ default:
521
+ throw new pe(n);
522
+ }
523
+ }
524
+ }
525
+ var Qe = Cr;
526
+ function _e(e, t) {
527
+ if (typeof e == "string") return t(e);
528
+ let u = /* @__PURE__ */ new Map();
529
+ return r(e);
530
+ function r(n) {
531
+ if (u.has(n)) return u.get(n);
532
+ let a = D(n);
533
+ return u.set(n, a), a;
534
+ }
535
+ function D(n) {
536
+ switch (le(n)) {
537
+ case X:
538
+ return t(n.map(r));
539
+ case V:
540
+ return t({
541
+ ...n,
542
+ parts: n.parts.map(r)
543
+ });
544
+ case T:
545
+ return t({
546
+ ...n,
547
+ breakContents: r(n.breakContents),
548
+ flatContents: r(n.flatContents)
549
+ });
550
+ case O: {
551
+ let { expandedStates: a, contents: i } = n;
552
+ return a ? (a = a.map(r), i = a[0]) : i = r(i), t({
553
+ ...n,
554
+ contents: i,
555
+ expandedStates: a
556
+ });
557
+ }
558
+ case q:
559
+ case U:
560
+ case G:
561
+ case W:
562
+ case Y:
563
+ return t({
564
+ ...n,
565
+ contents: r(n.contents)
566
+ });
567
+ case se:
568
+ case ue:
569
+ case H:
570
+ case Q:
571
+ case I:
572
+ case j:
573
+ return t(n);
574
+ default:
575
+ throw new pe(n);
576
+ }
577
+ }
578
+ }
579
+ function Ze(e, t, u) {
580
+ let r = u, D = !1;
581
+ function n(a) {
582
+ if (D) return !1;
583
+ let i = t(a);
584
+ i !== void 0 && (D = !0, r = i);
585
+ }
586
+ return Qe(e, n), r;
587
+ }
588
+ function gr(e) {
589
+ if (e.type === O && e.break || e.type === I && e.hard || e.type === j) return !0;
590
+ }
591
+ function Er(e) {
592
+ return Ze(e, gr, !1);
593
+ }
594
+ function ht(e) {
595
+ if (e.length > 0) {
596
+ let t = S(0, e, -1);
597
+ !t.expandedStates && !t.break && (t.break = "propagated");
598
+ }
599
+ return null;
600
+ }
601
+ function mr(e) {
602
+ let t = /* @__PURE__ */ new Set(), u = [];
603
+ function r(n) {
604
+ if (n.type === j && ht(u), n.type === O) {
605
+ if (u.push(n), t.has(n)) return !1;
606
+ t.add(n);
607
+ }
608
+ }
609
+ function D(n) {
610
+ n.type === O && u.pop().break && ht(u);
611
+ }
612
+ Qe(e, r, D, !0);
613
+ }
614
+ function yr(e) {
615
+ return e.type === I && !e.hard ? e.soft ? "" : " " : e.type === T ? e.flatContents : e;
616
+ }
617
+ function vr(e) {
618
+ return _e(e, yr);
619
+ }
620
+ function Ct(e) {
621
+ for (e = [...e]; e.length >= 2 && S(0, e, -2).type === I && S(0, e, -1).type === j; ) e.length -= 2;
622
+ if (e.length > 0) {
623
+ let t = Ee(S(0, e, -1));
624
+ e[e.length - 1] = t;
625
+ }
626
+ return e;
627
+ }
628
+ function Ee(e) {
629
+ switch (le(e)) {
630
+ case U:
631
+ case G:
632
+ case O:
633
+ case Y:
634
+ case W: {
635
+ let t = Ee(e.contents);
636
+ return {
637
+ ...e,
638
+ contents: t
639
+ };
640
+ }
641
+ case T:
642
+ return {
643
+ ...e,
644
+ breakContents: Ee(e.breakContents),
645
+ flatContents: Ee(e.flatContents)
646
+ };
647
+ case V:
648
+ return {
649
+ ...e,
650
+ parts: Ct(e.parts)
651
+ };
652
+ case X:
653
+ return Ct(e);
654
+ case se:
655
+ return fr(e);
656
+ case q:
657
+ case ue:
658
+ case H:
659
+ case Q:
660
+ case I:
661
+ case j:
662
+ break;
663
+ default:
664
+ throw new pe(e);
665
+ }
666
+ return e;
667
+ }
668
+ function Xt(e) {
669
+ return Ee(br(e));
670
+ }
671
+ function Br(e) {
672
+ switch (le(e)) {
673
+ case V:
674
+ if (e.parts.every((t) => t === "")) return "";
675
+ break;
676
+ case O:
677
+ if (!e.contents && !e.id && !e.break && !e.expandedStates) return "";
678
+ if (e.contents.type === O && e.contents.id === e.id && e.contents.break === e.break && e.contents.expandedStates === e.expandedStates) return e.contents;
679
+ break;
680
+ case q:
681
+ case U:
682
+ case G:
683
+ case Y:
684
+ if (!e.contents) return "";
685
+ break;
686
+ case T:
687
+ if (!e.flatContents && !e.breakContents) return "";
688
+ break;
689
+ case X: {
690
+ let t = [];
691
+ for (let u of e) {
692
+ if (!u) continue;
693
+ let [r, ...D] = Array.isArray(u) ? u : [u];
694
+ typeof r == "string" && typeof S(0, t, -1) == "string" ? t[t.length - 1] += r : t.push(r), t.push(...D);
695
+ }
696
+ return t.length === 0 ? "" : t.length === 1 ? t[0] : t;
697
+ }
698
+ case se:
699
+ case ue:
700
+ case H:
701
+ case Q:
702
+ case I:
703
+ case W:
704
+ case j:
705
+ break;
706
+ default:
707
+ throw new pe(e);
708
+ }
709
+ return e;
710
+ }
711
+ function br(e) {
712
+ return _e(e, (t) => Br(t));
713
+ }
714
+ function Ar(e, t = eu) {
715
+ return _e(e, (u) => typeof u == "string" ? Yt(t, u.split(`
716
+ `)) : u);
717
+ }
718
+ function wr(e) {
719
+ if (e.type === I) return !0;
720
+ }
721
+ function kr(e) {
722
+ return Ze(e, wr, !1);
723
+ }
724
+ function ke(e, t) {
725
+ return e.type === W ? {
726
+ ...e,
727
+ contents: t(e.contents)
728
+ } : t(e);
729
+ }
730
+ var J = ee, Ut = ee, xr = ee, Sr = ee;
731
+ function Se(e) {
732
+ return J(e), {
733
+ type: U,
734
+ contents: e
735
+ };
736
+ }
737
+ function he(e, t) {
738
+ return Sr(e), J(t), {
739
+ type: q,
740
+ contents: t,
741
+ n: e
742
+ };
743
+ }
744
+ function Ir(e) {
745
+ return he(Number.NEGATIVE_INFINITY, e);
746
+ }
747
+ function qt(e) {
748
+ return he({ type: "root" }, e);
749
+ }
750
+ function Nr(e) {
751
+ return he(-1, e);
752
+ }
753
+ function Ht(e, t, u) {
754
+ J(e);
755
+ let r = e;
756
+ if (t > 0) {
757
+ for (let D = 0; D < Math.floor(t / u); ++D) r = Se(r);
758
+ r = he(t % u, r), r = he(Number.NEGATIVE_INFINITY, r);
759
+ }
760
+ return r;
761
+ }
762
+ var Oe = { type: j }, ie = { type: ue };
763
+ function _r(e) {
764
+ return xr(e), {
765
+ type: V,
766
+ parts: e
767
+ };
768
+ }
769
+ function Gt(e, t = {}) {
770
+ return J(e), Ut(t.expandedStates, !0), {
771
+ type: O,
772
+ id: t.id,
773
+ contents: e,
774
+ break: !!t.shouldBreak,
775
+ expandedStates: t.expandedStates
776
+ };
777
+ }
778
+ function Or(e, t) {
779
+ return Gt(e[0], {
780
+ ...t,
781
+ expandedStates: e
782
+ });
783
+ }
784
+ function Tr(e, t = "", u = {}) {
785
+ return J(e), t !== "" && J(t), {
786
+ type: T,
787
+ breakContents: e,
788
+ flatContents: t,
789
+ groupId: u.groupId
790
+ };
791
+ }
792
+ function Pr(e, t) {
793
+ return J(e), {
794
+ type: G,
795
+ contents: e,
796
+ groupId: t.groupId,
797
+ negate: t.negate
798
+ };
799
+ }
800
+ function Yt(e, t) {
801
+ J(e), Ut(t);
802
+ let u = [];
803
+ for (let r = 0; r < t.length; r++) r !== 0 && u.push(e), u.push(t[r]);
804
+ return u;
805
+ }
806
+ function jr(e, t) {
807
+ return J(t), e ? {
808
+ type: W,
809
+ label: e,
810
+ contents: t
811
+ } : t;
812
+ }
813
+ var Qt = { type: I }, Lr = {
814
+ type: I,
815
+ soft: !0
816
+ }, et = {
817
+ type: I,
818
+ hard: !0
819
+ }, z = [et, Oe], Zt = {
820
+ type: I,
821
+ hard: !0,
822
+ literal: !0
823
+ }, eu = [Zt, Oe];
824
+ function Ke(e) {
825
+ return J(e), {
826
+ type: Y,
827
+ contents: e
828
+ };
829
+ }
830
+ var $r = { type: Q }, Rr = { type: H };
831
+ function K(e) {
832
+ if (!e) return "";
833
+ if (Array.isArray(e)) {
834
+ let t = [];
835
+ for (let u of e) if (Array.isArray(u)) t.push(...K(u));
836
+ else {
837
+ let r = K(u);
838
+ r !== "" && t.push(r);
839
+ }
840
+ return t;
841
+ }
842
+ return e.type === T ? {
843
+ ...e,
844
+ breakContents: K(e.breakContents),
845
+ flatContents: K(e.flatContents)
846
+ } : e.type === O ? {
847
+ ...e,
848
+ contents: K(e.contents),
849
+ expandedStates: e.expandedStates?.map(K)
850
+ } : e.type === V ? {
851
+ type: "fill",
852
+ parts: e.parts.map(K)
853
+ } : e.contents ? {
854
+ ...e,
855
+ contents: K(e.contents)
856
+ } : e;
857
+ }
858
+ function Mr(e) {
859
+ let t = /* @__PURE__ */ Object.create(null), u = /* @__PURE__ */ new Set();
860
+ return r(K(e));
861
+ function r(n, a, i) {
862
+ if (typeof n == "string") return JSON.stringify(n);
863
+ if (Array.isArray(n)) {
864
+ let o = n.map(r).filter(Boolean);
865
+ return o.length === 1 ? o[0] : `[${o.join(", ")}]`;
866
+ }
867
+ if (n.type === I) {
868
+ let o = i?.[a + 1]?.type === j;
869
+ return n.literal ? o ? "literalline" : "literallineWithoutBreakParent" : n.hard ? o ? "hardline" : "hardlineWithoutBreakParent" : n.soft ? "softline" : "line";
870
+ }
871
+ if (n.type === j) return i?.[a - 1]?.type === I && i[a - 1].hard ? void 0 : "breakParent";
872
+ if (n.type === H) return "trim";
873
+ if (n.type === U) return "indent(" + r(n.contents) + ")";
874
+ if (n.type === q) return n.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + r(n.contents) + ")" : n.n < 0 ? "dedent(" + r(n.contents) + ")" : n.n.type === "root" ? "markAsRoot(" + r(n.contents) + ")" : "align(" + JSON.stringify(n.n) + ", " + r(n.contents) + ")";
875
+ if (n.type === T) return "ifBreak(" + r(n.breakContents) + (n.flatContents ? ", " + r(n.flatContents) : "") + (n.groupId ? (n.flatContents ? "" : ', ""') + `, { groupId: ${D(n.groupId)} }` : "") + ")";
876
+ if (n.type === G) {
877
+ let o = [];
878
+ n.negate && o.push("negate: true"), n.groupId && o.push(`groupId: ${D(n.groupId)}`);
879
+ let s = o.length > 0 ? `, { ${o.join(", ")} }` : "";
880
+ return `indentIfBreak(${r(n.contents)}${s})`;
881
+ }
882
+ if (n.type === O) {
883
+ let o = [];
884
+ n.break && n.break !== "propagated" && o.push("shouldBreak: true"), n.id && o.push(`id: ${D(n.id)}`);
885
+ let s = o.length > 0 ? `, { ${o.join(", ")} }` : "";
886
+ return n.expandedStates ? `conditionalGroup([${n.expandedStates.map((l) => r(l)).join(",")}]${s})` : `group(${r(n.contents)}${s})`;
887
+ }
888
+ if (n.type === V) return `fill([${n.parts.map((o) => r(o)).join(", ")}])`;
889
+ if (n.type === Y) return "lineSuffix(" + r(n.contents) + ")";
890
+ if (n.type === Q) return "lineSuffixBoundary";
891
+ if (n.type === W) return `label(${JSON.stringify(n.label)}, ${r(n.contents)})`;
892
+ if (n.type === ue) return "cursor";
893
+ throw new Error("Unknown doc type " + n.type);
894
+ }
895
+ function D(n) {
896
+ if (typeof n != "symbol") return JSON.stringify(String(n));
897
+ if (n in t) return t[n];
898
+ let a = n.description || "symbol";
899
+ for (let i = 0; ; i++) {
900
+ let o = a + (i > 0 ? ` #${i}` : "");
901
+ if (!u.has(o)) return u.add(o), t[n] = `Symbol.for(${JSON.stringify(o)})`;
902
+ }
903
+ }
904
+ }
905
+ var Jr = () => /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
906
+ function Vr(e) {
907
+ return e === 12288 || e >= 65281 && e <= 65376 || e >= 65504 && e <= 65510;
908
+ }
909
+ function Wr(e) {
910
+ return e >= 4352 && e <= 4447 || e === 8986 || e === 8987 || e === 9001 || e === 9002 || e >= 9193 && e <= 9196 || e === 9200 || e === 9203 || e === 9725 || e === 9726 || e === 9748 || e === 9749 || e >= 9776 && e <= 9783 || e >= 9800 && e <= 9811 || e === 9855 || e >= 9866 && e <= 9871 || e === 9875 || e === 9889 || e === 9898 || e === 9899 || e === 9917 || e === 9918 || e === 9924 || e === 9925 || e === 9934 || e === 9940 || e === 9962 || e === 9970 || e === 9971 || e === 9973 || e === 9978 || e === 9981 || e === 9989 || e === 9994 || e === 9995 || e === 10024 || e === 10060 || e === 10062 || e >= 10067 && e <= 10069 || e === 10071 || e >= 10133 && e <= 10135 || e === 10160 || e === 10175 || e === 11035 || e === 11036 || e === 11088 || e === 11093 || e >= 11904 && e <= 11929 || e >= 11931 && e <= 12019 || e >= 12032 && e <= 12245 || e >= 12272 && e <= 12287 || e >= 12289 && e <= 12350 || e >= 12353 && e <= 12438 || e >= 12441 && e <= 12543 || e >= 12549 && e <= 12591 || e >= 12593 && e <= 12686 || e >= 12688 && e <= 12773 || e >= 12783 && e <= 12830 || e >= 12832 && e <= 12871 || e >= 12880 && e <= 42124 || e >= 42128 && e <= 42182 || e >= 43360 && e <= 43388 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65040 && e <= 65049 || e >= 65072 && e <= 65106 || e >= 65108 && e <= 65126 || e >= 65128 && e <= 65131 || e >= 94176 && e <= 94180 || e >= 94192 && e <= 94198 || e >= 94208 && e <= 101589 || e >= 101631 && e <= 101662 || e >= 101760 && e <= 101874 || e >= 110576 && e <= 110579 || e >= 110581 && e <= 110587 || e === 110589 || e === 110590 || e >= 110592 && e <= 110882 || e === 110898 || e >= 110928 && e <= 110930 || e === 110933 || e >= 110948 && e <= 110951 || e >= 110960 && e <= 111355 || e >= 119552 && e <= 119638 || e >= 119648 && e <= 119670 || e === 126980 || e === 127183 || e === 127374 || e >= 127377 && e <= 127386 || e >= 127488 && e <= 127490 || e >= 127504 && e <= 127547 || e >= 127552 && e <= 127560 || e === 127568 || e === 127569 || e >= 127584 && e <= 127589 || e >= 127744 && e <= 127776 || e >= 127789 && e <= 127797 || e >= 127799 && e <= 127868 || e >= 127870 && e <= 127891 || e >= 127904 && e <= 127946 || e >= 127951 && e <= 127955 || e >= 127968 && e <= 127984 || e === 127988 || e >= 127992 && e <= 128062 || e === 128064 || e >= 128066 && e <= 128252 || e >= 128255 && e <= 128317 || e >= 128331 && e <= 128334 || e >= 128336 && e <= 128359 || e === 128378 || e === 128405 || e === 128406 || e === 128420 || e >= 128507 && e <= 128591 || e >= 128640 && e <= 128709 || e === 128716 || e >= 128720 && e <= 128722 || e >= 128725 && e <= 128728 || e >= 128732 && e <= 128735 || e === 128747 || e === 128748 || e >= 128756 && e <= 128764 || e >= 128992 && e <= 129003 || e === 129008 || e >= 129292 && e <= 129338 || e >= 129340 && e <= 129349 || e >= 129351 && e <= 129535 || e >= 129648 && e <= 129660 || e >= 129664 && e <= 129674 || e >= 129678 && e <= 129734 || e === 129736 || e >= 129741 && e <= 129756 || e >= 129759 && e <= 129770 || e >= 129775 && e <= 129784 || e >= 131072 && e <= 196605 || e >= 196608 && e <= 262141;
911
+ }
912
+ var Kr = "©®‼⁉™ℹ↔↕↖↗↘↙↩↪⌨⏏⏱⏲⏸⏹⏺▪▫▶◀◻◼☀☁☂☃☄☎☑☘☝☠☢☣☦☪☮☯☸☹☺♀♂♟♠♣♥♦♨♻♾⚒⚔⚕⚖⚗⚙⚛⚜⚠⚧⚰⚱⛈⛏⛑⛓⛩⛱⛷⛸⛹✂✈✉✌✍✏✒✔✖✝✡✳✴❄❇❣❤➡⤴⤵⬅⬆⬇", zr = /[^\x20-\x7F]/u, Xr = new Set(Kr);
913
+ function Ur(e) {
914
+ if (!e) return 0;
915
+ if (!zr.test(e)) return e.length;
916
+ e = e.replace(Jr(), (u) => Xr.has(u) ? " " : " ");
917
+ let t = 0;
918
+ for (let u of e) {
919
+ let r = u.codePointAt(0);
920
+ r <= 31 || r >= 127 && r <= 159 || r >= 768 && r <= 879 || r >= 65024 && r <= 65039 || (t += Vr(r) || Wr(r) ? 2 : 1);
921
+ }
922
+ return t;
923
+ }
924
+ var tt = Ur, qr = { type: 0 }, Hr = { type: 1 }, tu = {
925
+ value: "",
926
+ length: 0,
927
+ queue: [],
928
+ get root() {
929
+ return tu;
930
+ }
931
+ };
932
+ function uu(e, t, u) {
933
+ let r = t.type === 1 ? e.queue.slice(0, -1) : [...e.queue, t], D = "", n = 0, a = 0, i = 0;
934
+ for (let F of r) switch (F.type) {
935
+ case 0:
936
+ l(), u.useTabs ? o(1) : s(u.tabWidth);
937
+ break;
938
+ case 3: {
939
+ let { string: p } = F;
940
+ l(), D += p, n += p.length;
941
+ break;
942
+ }
943
+ case 2: {
944
+ let { width: p } = F;
945
+ a += 1, i += p;
946
+ break;
947
+ }
948
+ default:
949
+ throw new Error(`Unexpected indent comment '${F.type}'.`);
950
+ }
951
+ return c(), {
952
+ ...e,
953
+ value: D,
954
+ length: n,
955
+ queue: r
956
+ };
957
+ function o(F) {
958
+ D += " ".repeat(F), n += u.tabWidth * F;
959
+ }
960
+ function s(F) {
961
+ D += " ".repeat(F), n += F;
962
+ }
963
+ function l() {
964
+ u.useTabs ? f() : c();
965
+ }
966
+ function f() {
967
+ a > 0 && o(a), d();
968
+ }
969
+ function c() {
970
+ i > 0 && s(i), d();
971
+ }
972
+ function d() {
973
+ a = 0, i = 0;
974
+ }
975
+ }
976
+ function Gr(e, t, u) {
977
+ if (!t) return e;
978
+ if (t.type === "root") return {
979
+ ...e,
980
+ root: e
981
+ };
982
+ if (t === Number.NEGATIVE_INFINITY) return e.root;
983
+ let r;
984
+ return typeof t == "number" ? t < 0 ? r = Hr : r = {
985
+ type: 2,
986
+ width: t
987
+ } : r = {
988
+ type: 3,
989
+ string: t
990
+ }, uu(e, r, u);
991
+ }
992
+ function Yr(e, t) {
993
+ return uu(e, qr, t);
994
+ }
995
+ function Qr(e) {
996
+ let t = 0;
997
+ for (let u = e.length - 1; u >= 0; u--) {
998
+ let r = e[u];
999
+ if (r === " " || r === " ") t++;
1000
+ else break;
1001
+ }
1002
+ return t;
1003
+ }
1004
+ function ru(e) {
1005
+ let t = Qr(e);
1006
+ return {
1007
+ text: t === 0 ? e : e.slice(0, e.length - t),
1008
+ count: t
1009
+ };
1010
+ }
1011
+ var _ = /* @__PURE__ */ Symbol("MODE_BREAK"), R = /* @__PURE__ */ Symbol("MODE_FLAT"), ze = /* @__PURE__ */ Symbol("DOC_FILL_PRINTED_LENGTH");
1012
+ function Ae(e, t, u, r, D, n) {
1013
+ if (u === Number.POSITIVE_INFINITY) return !0;
1014
+ let a = t.length, i = !1, o = [e], s = "";
1015
+ for (; u >= 0; ) {
1016
+ if (o.length === 0) {
1017
+ if (a === 0) return !0;
1018
+ o.push(t[--a]);
1019
+ continue;
1020
+ }
1021
+ let { mode: l, doc: f } = o.pop(), c = le(f);
1022
+ switch (c) {
1023
+ case se:
1024
+ f && (i && (s += " ", u -= 1, i = !1), s += f, u -= tt(f));
1025
+ break;
1026
+ case X:
1027
+ case V: {
1028
+ let d = c === X ? f : f.parts, F = f[ze] ?? 0;
1029
+ for (let p = d.length - 1; p >= F; p--) o.push({
1030
+ mode: l,
1031
+ doc: d[p]
1032
+ });
1033
+ break;
1034
+ }
1035
+ case U:
1036
+ case q:
1037
+ case G:
1038
+ case W:
1039
+ o.push({
1040
+ mode: l,
1041
+ doc: f.contents
1042
+ });
1043
+ break;
1044
+ case H: {
1045
+ let { text: d, count: F } = ru(s);
1046
+ s = d, u += F;
1047
+ break;
1048
+ }
1049
+ case O: {
1050
+ if (n && f.break) return !1;
1051
+ let d = f.break ? _ : l, F = f.expandedStates && d === _ ? S(0, f.expandedStates, -1) : f.contents;
1052
+ o.push({
1053
+ mode: d,
1054
+ doc: F
1055
+ });
1056
+ break;
1057
+ }
1058
+ case T: {
1059
+ let d = (f.groupId ? D[f.groupId] || R : l) === _ ? f.breakContents : f.flatContents;
1060
+ d && o.push({
1061
+ mode: l,
1062
+ doc: d
1063
+ });
1064
+ break;
1065
+ }
1066
+ case I:
1067
+ if (l === _ || f.hard) return !0;
1068
+ f.soft || (i = !0);
1069
+ break;
1070
+ case Y:
1071
+ r = !0;
1072
+ break;
1073
+ case Q:
1074
+ if (r) return !1;
1075
+ break;
1076
+ }
1077
+ }
1078
+ return !1;
1079
+ }
1080
+ function Te(e, t) {
1081
+ let u = /* @__PURE__ */ Object.create(null), r = t.printWidth, D = Ye(t.endOfLine), n = 0, a = [{
1082
+ indent: tu,
1083
+ mode: _,
1084
+ doc: e
1085
+ }], i = "", o = !1, s = [], l = [], f = [], c = [], d = 0;
1086
+ for (mr(e); a.length > 0; ) {
1087
+ let { indent: E, mode: b, doc: C } = a.pop();
1088
+ switch (le(C)) {
1089
+ case se: {
1090
+ let y = D !== `
1091
+ ` ? Ie(0, C, `
1092
+ `, D) : C;
1093
+ y && (i += y, a.length > 0 && (n += tt(y)));
1094
+ break;
1095
+ }
1096
+ case X:
1097
+ for (let y = C.length - 1; y >= 0; y--) a.push({
1098
+ indent: E,
1099
+ mode: b,
1100
+ doc: C[y]
1101
+ });
1102
+ break;
1103
+ case ue:
1104
+ if (l.length >= 2) throw new Error("There are too many 'cursor' in doc.");
1105
+ l.push(d + i.length);
1106
+ break;
1107
+ case U:
1108
+ a.push({
1109
+ indent: Yr(E, t),
1110
+ mode: b,
1111
+ doc: C.contents
1112
+ });
1113
+ break;
1114
+ case q:
1115
+ a.push({
1116
+ indent: Gr(E, C.n, t),
1117
+ mode: b,
1118
+ doc: C.contents
1119
+ });
1120
+ break;
1121
+ case H:
1122
+ v();
1123
+ break;
1124
+ case O:
1125
+ switch (b) {
1126
+ case R:
1127
+ if (!o) {
1128
+ a.push({
1129
+ indent: E,
1130
+ mode: C.break ? _ : R,
1131
+ doc: C.contents
1132
+ });
1133
+ break;
1134
+ }
1135
+ case _: {
1136
+ o = !1;
1137
+ let y = {
1138
+ indent: E,
1139
+ mode: R,
1140
+ doc: C.contents
1141
+ }, w = r - n, x = s.length > 0;
1142
+ if (!C.break && Ae(y, a, w, x, u)) a.push(y);
1143
+ else if (C.expandedStates) {
1144
+ let L = S(0, C.expandedStates, -1);
1145
+ if (C.break) {
1146
+ a.push({
1147
+ indent: E,
1148
+ mode: _,
1149
+ doc: L
1150
+ });
1151
+ break;
1152
+ } else for (let $ = 1; $ < C.expandedStates.length + 1; $++) if ($ >= C.expandedStates.length) {
1153
+ a.push({
1154
+ indent: E,
1155
+ mode: _,
1156
+ doc: L
1157
+ });
1158
+ break;
1159
+ } else {
1160
+ let m = {
1161
+ indent: E,
1162
+ mode: R,
1163
+ doc: C.expandedStates[$]
1164
+ };
1165
+ if (Ae(m, a, w, x, u)) {
1166
+ a.push(m);
1167
+ break;
1168
+ }
1169
+ }
1170
+ } else a.push({
1171
+ indent: E,
1172
+ mode: _,
1173
+ doc: C.contents
1174
+ });
1175
+ break;
1176
+ }
1177
+ }
1178
+ C.id && (u[C.id] = S(0, a, -1).mode);
1179
+ break;
1180
+ case V: {
1181
+ let y = r - n, w = C[ze] ?? 0, { parts: x } = C, L = x.length - w;
1182
+ if (L === 0) break;
1183
+ let $ = x[w + 0], m = x[w + 1], B = {
1184
+ indent: E,
1185
+ mode: R,
1186
+ doc: $
1187
+ }, ce = {
1188
+ indent: E,
1189
+ mode: _,
1190
+ doc: $
1191
+ }, h = Ae(B, [], y, s.length > 0, u, !0);
1192
+ if (L === 1) {
1193
+ h ? a.push(B) : a.push(ce);
1194
+ break;
1195
+ }
1196
+ let P = {
1197
+ indent: E,
1198
+ mode: R,
1199
+ doc: m
1200
+ }, fe = {
1201
+ indent: E,
1202
+ mode: _,
1203
+ doc: m
1204
+ };
1205
+ if (L === 2) {
1206
+ h ? a.push(P, B) : a.push(fe, ce);
1207
+ break;
1208
+ }
1209
+ let N = x[w + 2], ne = {
1210
+ indent: E,
1211
+ mode: b,
1212
+ doc: {
1213
+ ...C,
1214
+ [ze]: w + 2
1215
+ }
1216
+ }, A = Ae({
1217
+ indent: E,
1218
+ mode: R,
1219
+ doc: [
1220
+ $,
1221
+ m,
1222
+ N
1223
+ ]
1224
+ }, [], y, s.length > 0, u, !0);
1225
+ a.push(ne), A ? a.push(P, B) : h ? a.push(fe, B) : a.push(fe, ce);
1226
+ break;
1227
+ }
1228
+ case T:
1229
+ case G: {
1230
+ let y = C.groupId ? u[C.groupId] : b;
1231
+ if (y === _) {
1232
+ let w = C.type === T ? C.breakContents : C.negate ? C.contents : Se(C.contents);
1233
+ w && a.push({
1234
+ indent: E,
1235
+ mode: b,
1236
+ doc: w
1237
+ });
1238
+ }
1239
+ if (y === R) {
1240
+ let w = C.type === T ? C.flatContents : C.negate ? Se(C.contents) : C.contents;
1241
+ w && a.push({
1242
+ indent: E,
1243
+ mode: b,
1244
+ doc: w
1245
+ });
1246
+ }
1247
+ break;
1248
+ }
1249
+ case Y:
1250
+ s.push({
1251
+ indent: E,
1252
+ mode: b,
1253
+ doc: C.contents
1254
+ });
1255
+ break;
1256
+ case Q:
1257
+ s.length > 0 && a.push({
1258
+ indent: E,
1259
+ mode: b,
1260
+ doc: et
1261
+ });
1262
+ break;
1263
+ case I:
1264
+ switch (b) {
1265
+ case R:
1266
+ if (C.hard) o = !0;
1267
+ else {
1268
+ C.soft || (i += " ", n += 1);
1269
+ break;
1270
+ }
1271
+ case _:
1272
+ if (s.length > 0) {
1273
+ a.push({
1274
+ indent: E,
1275
+ mode: b,
1276
+ doc: C
1277
+ }, ...s.reverse()), s.length = 0;
1278
+ break;
1279
+ }
1280
+ C.literal ? (i += D, n = 0, E.root && (E.root.value && (i += E.root.value), n = E.root.length)) : (v(), i += D + E.value, n = E.length);
1281
+ break;
1282
+ }
1283
+ break;
1284
+ case W:
1285
+ a.push({
1286
+ indent: E,
1287
+ mode: b,
1288
+ doc: C.contents
1289
+ });
1290
+ break;
1291
+ case j:
1292
+ break;
1293
+ default:
1294
+ throw new pe(C);
1295
+ }
1296
+ a.length === 0 && s.length > 0 && (a.push(...s.reverse()), s.length = 0);
1297
+ }
1298
+ let F = f.join("") + i, p = [...c, ...l];
1299
+ if (p.length !== 2) return { formatted: F };
1300
+ let g = p[0];
1301
+ return {
1302
+ formatted: F,
1303
+ cursorNodeStart: g,
1304
+ cursorNodeText: F.slice(g, S(0, p, -1))
1305
+ };
1306
+ function v() {
1307
+ let { text: E, count: b } = ru(i);
1308
+ E && (f.push(E), d += E.length), i = "", n -= b, l.length > 0 && (c.push(...l.map((C) => Math.min(C, d))), l.length = 0);
1309
+ }
1310
+ }
1311
+ function Zr(e, t, u = 0) {
1312
+ let r = 0;
1313
+ for (let D = u; D < e.length; ++D) e[D] === " " ? r = r + t - r % t : r++;
1314
+ return r;
1315
+ }
1316
+ var ut = Zr, en = class {
1317
+ constructor(e) {
1318
+ this.stack = [e];
1319
+ }
1320
+ get key() {
1321
+ let { stack: e, siblings: t } = this;
1322
+ return S(0, e, t === null ? -2 : -4) ?? null;
1323
+ }
1324
+ get index() {
1325
+ return this.siblings === null ? null : S(0, this.stack, -2);
1326
+ }
1327
+ get node() {
1328
+ return S(0, this.stack, -1);
1329
+ }
1330
+ get parent() {
1331
+ return this.getNode(1);
1332
+ }
1333
+ get grandparent() {
1334
+ return this.getNode(2);
1335
+ }
1336
+ get isInArray() {
1337
+ return this.siblings !== null;
1338
+ }
1339
+ get siblings() {
1340
+ let { stack: e } = this, t = S(0, e, -3);
1341
+ return Array.isArray(t) ? t : null;
1342
+ }
1343
+ get next() {
1344
+ let { siblings: e } = this;
1345
+ return e === null ? null : e[this.index + 1];
1346
+ }
1347
+ get previous() {
1348
+ let { siblings: e } = this;
1349
+ return e === null ? null : e[this.index - 1];
1350
+ }
1351
+ get isFirst() {
1352
+ return this.index === 0;
1353
+ }
1354
+ get isLast() {
1355
+ let { siblings: e, index: t } = this;
1356
+ return e !== null && t === e.length - 1;
1357
+ }
1358
+ get isRoot() {
1359
+ return this.stack.length === 1;
1360
+ }
1361
+ get root() {
1362
+ return this.stack[0];
1363
+ }
1364
+ get ancestors() {
1365
+ return [...this.#e()];
1366
+ }
1367
+ getName() {
1368
+ let { stack: e } = this, { length: t } = e;
1369
+ return t > 1 ? S(0, e, -2) : null;
1370
+ }
1371
+ getValue() {
1372
+ return S(0, this.stack, -1);
1373
+ }
1374
+ getNode(e = 0) {
1375
+ let t = this.#t(e);
1376
+ return t === -1 ? null : this.stack[t];
1377
+ }
1378
+ getParentNode(e = 0) {
1379
+ return this.getNode(e + 1);
1380
+ }
1381
+ #t(e) {
1382
+ let { stack: t } = this;
1383
+ for (let u = t.length - 1; u >= 0; u -= 2) if (!Array.isArray(t[u]) && --e < 0) return u;
1384
+ return -1;
1385
+ }
1386
+ call(e, ...t) {
1387
+ let { stack: u } = this, { length: r } = u, D = S(0, u, -1);
1388
+ for (let n of t) D = D?.[n], u.push(n, D);
1389
+ try {
1390
+ return e(this);
1391
+ } finally {
1392
+ u.length = r;
1393
+ }
1394
+ }
1395
+ callParent(e, t = 0) {
1396
+ let u = this.#t(t + 1), r = this.stack.splice(u + 1);
1397
+ try {
1398
+ return e(this);
1399
+ } finally {
1400
+ this.stack.push(...r);
1401
+ }
1402
+ }
1403
+ each(e, ...t) {
1404
+ let { stack: u } = this, { length: r } = u, D = S(0, u, -1);
1405
+ for (let n of t) D = D[n], u.push(n, D);
1406
+ try {
1407
+ for (let n = 0; n < D.length; ++n) u.push(n, D[n]), e(this, n, D), u.length -= 2;
1408
+ } finally {
1409
+ u.length = r;
1410
+ }
1411
+ }
1412
+ map(e, ...t) {
1413
+ let u = [];
1414
+ return this.each((r, D, n) => {
1415
+ u[D] = e(r, D, n);
1416
+ }, ...t), u;
1417
+ }
1418
+ match(...e) {
1419
+ let t = this.stack.length - 1, u = null, r = this.stack[t--];
1420
+ for (let D of e) {
1421
+ if (r === void 0) return !1;
1422
+ let n = null;
1423
+ if (typeof u == "number" && (n = u, u = this.stack[t--], r = this.stack[t--]), D && !D(r, u, n)) return !1;
1424
+ u = this.stack[t--], r = this.stack[t--];
1425
+ }
1426
+ return !0;
1427
+ }
1428
+ findAncestor(e) {
1429
+ for (let t of this.#e()) if (e(t)) return t;
1430
+ }
1431
+ hasAncestor(e) {
1432
+ for (let t of this.#e()) if (e(t)) return !0;
1433
+ return !1;
1434
+ }
1435
+ *#e() {
1436
+ let { stack: e } = this;
1437
+ for (let t = e.length - 3; t >= 0; t -= 2) {
1438
+ let u = e[t];
1439
+ Array.isArray(u) || (yield u);
1440
+ }
1441
+ }
1442
+ }, tn = en;
1443
+ function un(e) {
1444
+ return e !== null && typeof e == "object";
1445
+ }
1446
+ var rt = un;
1447
+ function Be(e) {
1448
+ return (t, u, r) => {
1449
+ let D = !!r?.backwards;
1450
+ if (u === !1) return !1;
1451
+ let { length: n } = t, a = u;
1452
+ for (; a >= 0 && a < n; ) {
1453
+ let i = t.charAt(a);
1454
+ if (e instanceof RegExp) {
1455
+ if (!e.test(i)) return a;
1456
+ } else if (!e.includes(i)) return a;
1457
+ D ? a-- : a++;
1458
+ }
1459
+ return a === -1 || a === n ? a : !1;
1460
+ };
1461
+ }
1462
+ var rn = Be(/\s/u), te = Be(" "), nu = Be(",; "), Du = Be(/[^\n\r]/u), gt = (e) => e === `
1463
+ ` || e === "\r" || e === "\u2028" || e === "\u2029";
1464
+ function nn(e, t, u) {
1465
+ let r = !!u?.backwards;
1466
+ if (t === !1) return !1;
1467
+ let D = e.charAt(t);
1468
+ if (r) {
1469
+ if (e.charAt(t - 1) === "\r" && D === `
1470
+ `) return t - 2;
1471
+ if (gt(D)) return t - 1;
1472
+ } else {
1473
+ if (D === "\r" && e.charAt(t + 1) === `
1474
+ `) return t + 2;
1475
+ if (gt(D)) return t + 1;
1476
+ }
1477
+ return t;
1478
+ }
1479
+ var oe = nn;
1480
+ function Dn(e, t, u = {}) {
1481
+ let r = te(e, u.backwards ? t - 1 : t, u);
1482
+ return r !== oe(e, r, u);
1483
+ }
1484
+ var Z = Dn;
1485
+ function an(e) {
1486
+ return Array.isArray(e) && e.length > 0;
1487
+ }
1488
+ var on = an;
1489
+ function* Pe(e, t) {
1490
+ let { getVisitorKeys: u, filter: r = () => !0 } = t, D = (n) => rt(n) && r(n);
1491
+ for (let n of u(e)) {
1492
+ let a = e[n];
1493
+ if (Array.isArray(a)) for (let i of a) D(i) && (yield i);
1494
+ else D(a) && (yield a);
1495
+ }
1496
+ }
1497
+ function* sn(e, t) {
1498
+ let u = [e];
1499
+ for (let r = 0; r < u.length; r++) {
1500
+ let D = u[r];
1501
+ for (let n of Pe(D, t)) yield n, u.push(n);
1502
+ }
1503
+ }
1504
+ function ln(e, t) {
1505
+ return Pe(e, t).next().done;
1506
+ }
1507
+ function au(e, t, u) {
1508
+ let { cache: r } = u;
1509
+ if (r.has(e)) return r.get(e);
1510
+ let { filter: D } = u;
1511
+ if (!D) return [];
1512
+ let n, a = (u.getChildren?.(e, u) ?? [...Pe(e, { getVisitorKeys: u.getVisitorKeys })]).flatMap((s) => (n ?? (n = [e, ...t]), D(s, n) ? [s] : au(s, n, u))), { locStart: i, locEnd: o } = u;
1513
+ return a.sort((s, l) => i(s) - i(l) || o(s) - o(l)), r.set(e, a), a;
1514
+ }
1515
+ var iu = au;
1516
+ function cn(e) {
1517
+ let t = e.type || e.kind || "(unknown type)", u = String(e.name || e.id && (typeof e.id == "object" ? e.id.name : e.id) || e.key && (typeof e.key == "object" ? e.key.name : e.key) || e.value && (typeof e.value == "object" ? "" : String(e.value)) || e.operator || "");
1518
+ return u.length > 20 && (u = u.slice(0, 19) + "…"), t + (u ? " " + u : "");
1519
+ }
1520
+ function nt(e, t) {
1521
+ (e.comments ?? (e.comments = [])).push(t), t.printed = !1, t.nodeDescription = cn(e);
1522
+ }
1523
+ function me(e, t) {
1524
+ t.leading = !0, t.trailing = !1, nt(e, t);
1525
+ }
1526
+ function De(e, t, u) {
1527
+ t.leading = !1, t.trailing = !1, u && (t.marker = u), nt(e, t);
1528
+ }
1529
+ function ye(e, t) {
1530
+ t.leading = !1, t.trailing = !0, nt(e, t);
1531
+ }
1532
+ var ou = /* @__PURE__ */ new WeakMap();
1533
+ function su(e, t, u, r, D = []) {
1534
+ let { locStart: n, locEnd: a } = u, i = n(t), o = a(t), s = iu(e, D, {
1535
+ cache: ou,
1536
+ locStart: n,
1537
+ locEnd: a,
1538
+ getVisitorKeys: u.getVisitorKeys,
1539
+ filter: u.printer.canAttachComment,
1540
+ getChildren: u.printer.getCommentChildNodes
1541
+ }), l, f, c = 0, d = s.length;
1542
+ for (; c < d; ) {
1543
+ let F = c + d >> 1, p = s[F], g = n(p), v = a(p);
1544
+ if (g <= i && o <= v) return su(p, t, u, p, [p, ...D]);
1545
+ if (v <= i) {
1546
+ l = p, c = F + 1;
1547
+ continue;
1548
+ }
1549
+ if (o <= g) {
1550
+ f = p, d = F;
1551
+ continue;
1552
+ }
1553
+ throw new Error("Comment location overlaps with node location");
1554
+ }
1555
+ if (r?.type === "TemplateLiteral") {
1556
+ let { quasis: F } = r, p = $e(F, t, u);
1557
+ l && $e(F, l, u) !== p && (l = null), f && $e(F, f, u) !== p && (f = null);
1558
+ }
1559
+ return {
1560
+ enclosingNode: r,
1561
+ precedingNode: l,
1562
+ followingNode: f
1563
+ };
1564
+ }
1565
+ var Le = () => !1;
1566
+ function fn(e, t) {
1567
+ let { comments: u } = e;
1568
+ if (delete e.comments, !on(u) || !t.printer.canAttachComment) return;
1569
+ let r = [], { printer: { features: { experimental_avoidAstMutation: D }, handleComments: n = {} }, originalText: a } = t, { ownLine: i = Le, endOfLine: o = Le, remaining: s = Le } = n, l = u.map((f, c) => ({
1570
+ ...su(e, f, t),
1571
+ comment: f,
1572
+ text: a,
1573
+ options: t,
1574
+ ast: e,
1575
+ isLastComment: u.length - 1 === c
1576
+ }));
1577
+ for (let [f, c] of l.entries()) {
1578
+ let { comment: d, precedingNode: F, enclosingNode: p, followingNode: g, text: v, options: E, ast: b, isLastComment: C } = c, y;
1579
+ if (D ? y = [c] : (d.enclosingNode = p, d.precedingNode = F, d.followingNode = g, y = [
1580
+ d,
1581
+ v,
1582
+ E,
1583
+ b,
1584
+ C
1585
+ ]), dn(v, E, l, f)) d.placement = "ownLine", i(...y) || (g ? me(g, d) : F ? ye(F, d) : De(p || b, d));
1586
+ else if (Fn(v, E, l, f)) d.placement = "endOfLine", o(...y) || (F ? ye(F, d) : g ? me(g, d) : De(p || b, d));
1587
+ else if (d.placement = "remaining", !s(...y)) if (F && g) {
1588
+ let w = r.length;
1589
+ w > 0 && r[w - 1].followingNode !== g && Et(r, E), r.push(c);
1590
+ } else F ? ye(F, d) : g ? me(g, d) : De(p || b, d);
1591
+ }
1592
+ if (Et(r, t), !D) for (let f of u) delete f.precedingNode, delete f.enclosingNode, delete f.followingNode;
1593
+ }
1594
+ var lu = (e) => !/[\S\n\u2028\u2029]/u.test(e);
1595
+ function dn(e, t, u, r) {
1596
+ let { comment: D, precedingNode: n } = u[r], { locStart: a, locEnd: i } = t, o = a(D);
1597
+ if (n) for (let s = r - 1; s >= 0; s--) {
1598
+ let { comment: l, precedingNode: f } = u[s];
1599
+ if (f !== n || !lu(e.slice(i(l), o))) break;
1600
+ o = a(l);
1601
+ }
1602
+ return Z(e, o, { backwards: !0 });
1603
+ }
1604
+ function Fn(e, t, u, r) {
1605
+ let { comment: D, followingNode: n } = u[r], { locStart: a, locEnd: i } = t, o = i(D);
1606
+ if (n) for (let s = r + 1; s < u.length; s++) {
1607
+ let { comment: l, followingNode: f } = u[s];
1608
+ if (f !== n || !lu(e.slice(o, a(l)))) break;
1609
+ o = i(l);
1610
+ }
1611
+ return Z(e, o);
1612
+ }
1613
+ function Et(e, t) {
1614
+ let u = e.length;
1615
+ if (u === 0) return;
1616
+ let { precedingNode: r, followingNode: D } = e[0], n = t.locStart(D), a;
1617
+ for (a = u; a > 0; --a) {
1618
+ let { comment: i, precedingNode: o, followingNode: s } = e[a - 1];
1619
+ ee(o, r), ee(s, D);
1620
+ let l = t.originalText.slice(t.locEnd(i), n);
1621
+ if (t.printer.isGap?.(l, t) ?? /^[\s(]*$/u.test(l)) n = t.locStart(i);
1622
+ else break;
1623
+ }
1624
+ for (let [i, { comment: o }] of e.entries()) i < a ? ye(r, o) : me(D, o);
1625
+ for (let i of [r, D]) i.comments && i.comments.length > 1 && i.comments.sort((o, s) => t.locStart(o) - t.locStart(s));
1626
+ e.length = 0;
1627
+ }
1628
+ function $e(e, t, u) {
1629
+ let r = u.locStart(t) - 1;
1630
+ for (let D = 1; D < e.length; ++D) if (r < u.locStart(e[D])) return D - 1;
1631
+ return 0;
1632
+ }
1633
+ function pn(e, t) {
1634
+ let u = t - 1;
1635
+ u = te(e, u, { backwards: !0 }), u = oe(e, u, { backwards: !0 }), u = te(e, u, { backwards: !0 });
1636
+ let r = oe(e, u, { backwards: !0 });
1637
+ return u !== r;
1638
+ }
1639
+ var Dt = pn;
1640
+ function cu(e, t) {
1641
+ let u = e.node;
1642
+ return u.printed = !0, t.printer.printComment(e, t);
1643
+ }
1644
+ function hn(e, t) {
1645
+ let u = e.node, r = [cu(e, t)], { printer: D, originalText: n, locStart: a, locEnd: i } = t;
1646
+ if (D.isBlockComment?.(u)) {
1647
+ let s = Z(n, i(u)) ? Z(n, a(u), { backwards: !0 }) ? z : Qt : " ";
1648
+ r.push(s);
1649
+ } else r.push(z);
1650
+ let o = oe(n, te(n, i(u)));
1651
+ return o !== !1 && Z(n, o) && r.push(z), r;
1652
+ }
1653
+ function Cn(e, t, u) {
1654
+ let r = e.node, D = cu(e, t), { printer: n, originalText: a, locStart: i } = t, o = n.isBlockComment?.(r);
1655
+ return u?.hasLineSuffix && !u?.isBlock || Z(a, i(r), { backwards: !0 }) ? {
1656
+ doc: Ke([
1657
+ z,
1658
+ Dt(a, i(r)) ? z : "",
1659
+ D
1660
+ ]),
1661
+ isBlock: o,
1662
+ hasLineSuffix: !0
1663
+ } : !o || u?.hasLineSuffix ? {
1664
+ doc: [Ke([" ", D]), Oe],
1665
+ isBlock: o,
1666
+ hasLineSuffix: !0
1667
+ } : {
1668
+ doc: [" ", D],
1669
+ isBlock: o,
1670
+ hasLineSuffix: !1
1671
+ };
1672
+ }
1673
+ function gn(e, t) {
1674
+ let u = e.node;
1675
+ if (!u) return {};
1676
+ let r = t[/* @__PURE__ */ Symbol.for("printedComments")];
1677
+ if ((u.comments || []).filter((i) => !r.has(i)).length === 0) return {
1678
+ leading: "",
1679
+ trailing: ""
1680
+ };
1681
+ let D = [], n = [], a;
1682
+ return e.each(() => {
1683
+ let i = e.node;
1684
+ if (r?.has(i)) return;
1685
+ let { leading: o, trailing: s } = i;
1686
+ o ? D.push(hn(e, t)) : s && (a = Cn(e, t, a), n.push(a.doc));
1687
+ }, "comments"), {
1688
+ leading: D,
1689
+ trailing: n
1690
+ };
1691
+ }
1692
+ function En(e, t, u) {
1693
+ let { leading: r, trailing: D } = gn(e, u);
1694
+ return !r && !D ? t : ke(t, (n) => [
1695
+ r,
1696
+ n,
1697
+ D
1698
+ ]);
1699
+ }
1700
+ function mn(e) {
1701
+ let { [/* @__PURE__ */ Symbol.for("comments")]: t, [/* @__PURE__ */ Symbol.for("printedComments")]: u } = e;
1702
+ for (let r of t) {
1703
+ if (!r.printed && !u.has(r)) throw new Error('Comment "' + r.value.trim() + '" was not printed. Please report this error!');
1704
+ delete r.printed;
1705
+ }
1706
+ }
1707
+ var yn = () => ee, fu = class extends Error {
1708
+ name = "ConfigError";
1709
+ }, mt = class extends Error {
1710
+ name = "UndefinedParserError";
1711
+ }, vn = {
1712
+ checkIgnorePragma: {
1713
+ category: "Special",
1714
+ type: "boolean",
1715
+ default: !1,
1716
+ description: "Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",
1717
+ cliCategory: "Other"
1718
+ },
1719
+ cursorOffset: {
1720
+ category: "Special",
1721
+ type: "int",
1722
+ default: -1,
1723
+ range: {
1724
+ start: -1,
1725
+ end: 1 / 0,
1726
+ step: 1
1727
+ },
1728
+ description: "Print (to stderr) where a cursor at the given position would move to after formatting.",
1729
+ cliCategory: "Editor"
1730
+ },
1731
+ endOfLine: {
1732
+ category: "Global",
1733
+ type: "choice",
1734
+ default: "lf",
1735
+ description: "Which end of line characters to apply.",
1736
+ choices: [
1737
+ {
1738
+ value: "lf",
1739
+ description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos"
1740
+ },
1741
+ {
1742
+ value: "crlf",
1743
+ description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows"
1744
+ },
1745
+ {
1746
+ value: "cr",
1747
+ description: "Carriage Return character only (\\r), used very rarely"
1748
+ },
1749
+ {
1750
+ value: "auto",
1751
+ description: `Maintain existing
1752
+ (mixed values within one file are normalised by looking at what's used after the first line)`
1753
+ }
1754
+ ]
1755
+ },
1756
+ filepath: {
1757
+ category: "Special",
1758
+ type: "path",
1759
+ description: "Specify the input filepath. This will be used to do parser inference.",
1760
+ cliName: "stdin-filepath",
1761
+ cliCategory: "Other",
1762
+ cliDescription: "Path to the file to pretend that stdin comes from."
1763
+ },
1764
+ insertPragma: {
1765
+ category: "Special",
1766
+ type: "boolean",
1767
+ default: !1,
1768
+ description: "Insert @format pragma into file's first docblock comment.",
1769
+ cliCategory: "Other"
1770
+ },
1771
+ parser: {
1772
+ category: "Global",
1773
+ type: "choice",
1774
+ default: void 0,
1775
+ description: "Which parser to use.",
1776
+ exception: (e) => typeof e == "string" || typeof e == "function",
1777
+ choices: [
1778
+ {
1779
+ value: "flow",
1780
+ description: "Flow"
1781
+ },
1782
+ {
1783
+ value: "babel",
1784
+ description: "JavaScript"
1785
+ },
1786
+ {
1787
+ value: "babel-flow",
1788
+ description: "Flow"
1789
+ },
1790
+ {
1791
+ value: "babel-ts",
1792
+ description: "TypeScript"
1793
+ },
1794
+ {
1795
+ value: "typescript",
1796
+ description: "TypeScript"
1797
+ },
1798
+ {
1799
+ value: "acorn",
1800
+ description: "JavaScript"
1801
+ },
1802
+ {
1803
+ value: "espree",
1804
+ description: "JavaScript"
1805
+ },
1806
+ {
1807
+ value: "meriyah",
1808
+ description: "JavaScript"
1809
+ },
1810
+ {
1811
+ value: "css",
1812
+ description: "CSS"
1813
+ },
1814
+ {
1815
+ value: "less",
1816
+ description: "Less"
1817
+ },
1818
+ {
1819
+ value: "scss",
1820
+ description: "SCSS"
1821
+ },
1822
+ {
1823
+ value: "json",
1824
+ description: "JSON"
1825
+ },
1826
+ {
1827
+ value: "json5",
1828
+ description: "JSON5"
1829
+ },
1830
+ {
1831
+ value: "jsonc",
1832
+ description: "JSON with Comments"
1833
+ },
1834
+ {
1835
+ value: "json-stringify",
1836
+ description: "JSON.stringify"
1837
+ },
1838
+ {
1839
+ value: "graphql",
1840
+ description: "GraphQL"
1841
+ },
1842
+ {
1843
+ value: "markdown",
1844
+ description: "Markdown"
1845
+ },
1846
+ {
1847
+ value: "mdx",
1848
+ description: "MDX"
1849
+ },
1850
+ {
1851
+ value: "vue",
1852
+ description: "Vue"
1853
+ },
1854
+ {
1855
+ value: "yaml",
1856
+ description: "YAML"
1857
+ },
1858
+ {
1859
+ value: "glimmer",
1860
+ description: "Ember / Handlebars"
1861
+ },
1862
+ {
1863
+ value: "html",
1864
+ description: "HTML"
1865
+ },
1866
+ {
1867
+ value: "angular",
1868
+ description: "Angular"
1869
+ },
1870
+ {
1871
+ value: "lwc",
1872
+ description: "Lightning Web Components"
1873
+ },
1874
+ {
1875
+ value: "mjml",
1876
+ description: "MJML"
1877
+ }
1878
+ ]
1879
+ },
1880
+ plugins: {
1881
+ type: "path",
1882
+ array: !0,
1883
+ default: [{ value: [] }],
1884
+ category: "Global",
1885
+ description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",
1886
+ exception: (e) => typeof e == "string" || typeof e == "object",
1887
+ cliName: "plugin",
1888
+ cliCategory: "Config"
1889
+ },
1890
+ printWidth: {
1891
+ category: "Global",
1892
+ type: "int",
1893
+ default: 80,
1894
+ description: "The line length where Prettier will try wrap.",
1895
+ range: {
1896
+ start: 0,
1897
+ end: 1 / 0,
1898
+ step: 1
1899
+ }
1900
+ },
1901
+ rangeEnd: {
1902
+ category: "Special",
1903
+ type: "int",
1904
+ default: 1 / 0,
1905
+ range: {
1906
+ start: 0,
1907
+ end: 1 / 0,
1908
+ step: 1
1909
+ },
1910
+ description: `Format code ending at a given character offset (exclusive).
1911
+ The range will extend forwards to the end of the selected statement.`,
1912
+ cliCategory: "Editor"
1913
+ },
1914
+ rangeStart: {
1915
+ category: "Special",
1916
+ type: "int",
1917
+ default: 0,
1918
+ range: {
1919
+ start: 0,
1920
+ end: 1 / 0,
1921
+ step: 1
1922
+ },
1923
+ description: `Format code starting at a given character offset.
1924
+ The range will extend backwards to the start of the first line containing the selected statement.`,
1925
+ cliCategory: "Editor"
1926
+ },
1927
+ requirePragma: {
1928
+ category: "Special",
1929
+ type: "boolean",
1930
+ default: !1,
1931
+ description: "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",
1932
+ cliCategory: "Other"
1933
+ },
1934
+ tabWidth: {
1935
+ type: "int",
1936
+ category: "Global",
1937
+ default: 2,
1938
+ description: "Number of spaces per indentation level.",
1939
+ range: {
1940
+ start: 0,
1941
+ end: 1 / 0,
1942
+ step: 1
1943
+ }
1944
+ },
1945
+ useTabs: {
1946
+ category: "Global",
1947
+ type: "boolean",
1948
+ default: !1,
1949
+ description: "Indent with tabs instead of spaces."
1950
+ },
1951
+ embeddedLanguageFormatting: {
1952
+ category: "Global",
1953
+ type: "choice",
1954
+ default: "auto",
1955
+ description: "Control how Prettier formats quoted code embedded in the file.",
1956
+ choices: [{
1957
+ value: "auto",
1958
+ description: "Format embedded code if Prettier can automatically identify it."
1959
+ }, {
1960
+ value: "off",
1961
+ description: "Never automatically format embedded code."
1962
+ }]
1963
+ }
1964
+ };
1965
+ function du({ plugins: e = [], showDeprecated: t = !1 } = {}) {
1966
+ let u = e.flatMap((D) => D.languages ?? []), r = [];
1967
+ for (let D of bn(Object.assign({}, ...e.map(({ options: n }) => n), vn))) !t && D.deprecated || (Array.isArray(D.choices) && (t || (D.choices = D.choices.filter((n) => !n.deprecated)), D.name === "parser" && (D.choices = [...D.choices, ...Bn(D.choices, u, e)])), D.pluginDefaults = Object.fromEntries(e.filter((n) => n.defaultOptions?.[D.name] !== void 0).map((n) => [n.name, n.defaultOptions[D.name]])), r.push(D));
1968
+ return {
1969
+ languages: u,
1970
+ options: r
1971
+ };
1972
+ }
1973
+ function* Bn(e, t, u) {
1974
+ let r = new Set(e.map((D) => D.value));
1975
+ for (let D of t) if (D.parsers) {
1976
+ for (let n of D.parsers) if (!r.has(n)) {
1977
+ r.add(n);
1978
+ let a = u.find((o) => o.parsers && Object.prototype.hasOwnProperty.call(o.parsers, n)), i = D.name;
1979
+ a?.name && (i += ` (plugin: ${a.name})`), yield {
1980
+ value: n,
1981
+ description: i
1982
+ };
1983
+ }
1984
+ }
1985
+ }
1986
+ function bn(e) {
1987
+ let t = [];
1988
+ for (let [u, r] of Object.entries(e)) {
1989
+ let D = {
1990
+ name: u,
1991
+ ...r
1992
+ };
1993
+ Array.isArray(D.default) && (D.default = S(0, D.default, -1).value), t.push(D);
1994
+ }
1995
+ return t;
1996
+ }
1997
+ var An = Array.prototype.toReversed ?? function() {
1998
+ return [...this].reverse();
1999
+ }, wn = ve("toReversed", function() {
2000
+ if (Array.isArray(this)) return An;
2001
+ });
2002
+ function kn() {
2003
+ let e = globalThis, t = e.Deno?.build?.os;
2004
+ return typeof t == "string" ? t === "windows" : e.navigator?.platform?.startsWith("Win") ?? e.process?.platform?.startsWith("win") ?? !1;
2005
+ }
2006
+ var xn = kn();
2007
+ function Fu(e) {
2008
+ if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
2009
+ return e;
2010
+ }
2011
+ function Sn(e) {
2012
+ return e = Fu(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
2013
+ }
2014
+ function In(e) {
2015
+ e = Fu(e);
2016
+ let t = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
2017
+ return e.hostname !== "" && (t = `\\\\${e.hostname}${t}`), t;
2018
+ }
2019
+ function Nn(e) {
2020
+ return xn ? In(e) : Sn(e);
2021
+ }
2022
+ var _n = (e) => String(e).split(/[/\\]/u).pop(), On = (e) => String(e).startsWith("file:");
2023
+ function yt(e, t) {
2024
+ if (!t) return;
2025
+ let u = _n(t).toLowerCase();
2026
+ return e.find(({ filenames: r }) => r?.some((D) => D.toLowerCase() === u)) ?? e.find(({ extensions: r }) => r?.some((D) => u.endsWith(D)));
2027
+ }
2028
+ function Tn(e, t) {
2029
+ if (t) return e.find(({ name: u }) => u.toLowerCase() === t) ?? e.find(({ aliases: u }) => u?.includes(t)) ?? e.find(({ extensions: u }) => u?.includes(`.${t}`));
2030
+ }
2031
+ var Pn = void 0;
2032
+ function vt(e, t) {
2033
+ if (t) {
2034
+ if (On(t)) try {
2035
+ t = Nn(t);
2036
+ } catch {
2037
+ return;
2038
+ }
2039
+ if (typeof t == "string") return e.find(({ isSupported: u }) => u?.({ filepath: t }));
2040
+ }
2041
+ }
2042
+ function jn(e, t) {
2043
+ let u = wn(0, e.plugins).flatMap((r) => r.languages ?? []);
2044
+ return (Tn(u, t.language) ?? yt(u, t.physicalFile) ?? yt(u, t.file) ?? vt(u, t.physicalFile) ?? vt(u, t.file) ?? Pn?.(u, t.physicalFile))?.parsers[0];
2045
+ }
2046
+ var pu = jn, Fe = {
2047
+ key: (e) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e) ? e : JSON.stringify(e),
2048
+ value(e) {
2049
+ if (e === null || typeof e != "object") return JSON.stringify(e);
2050
+ if (Array.isArray(e)) return `[${e.map((u) => Fe.value(u)).join(", ")}]`;
2051
+ let t = Object.keys(e);
2052
+ return t.length === 0 ? "{}" : `{ ${t.map((u) => `${Fe.key(u)}: ${Fe.value(e[u])}`).join(", ")} }`;
2053
+ },
2054
+ pair: ({ key: e, value: t }) => Fe.value({ [e]: t })
2055
+ }, at = new Proxy(String, { get: () => at }), M = at, hu = () => at, Ln = (e, t, { descriptor: u }) => {
2056
+ let r = [`${M.yellow(typeof e == "string" ? u.key(e) : u.pair(e))} is deprecated`];
2057
+ return t && r.push(`we now treat it as ${M.blue(typeof t == "string" ? u.key(t) : u.pair(t))}`), r.join("; ") + ".";
2058
+ }, Cu = /* @__PURE__ */ Symbol.for("vnopts.VALUE_NOT_EXIST"), xe = /* @__PURE__ */ Symbol.for("vnopts.VALUE_UNCHANGED"), Bt = " ".repeat(2), $n = (e, t, u) => {
2059
+ let { text: r, list: D } = u.normalizeExpectedResult(u.schemas[e].expected(u)), n = [];
2060
+ return r && n.push(bt(e, t, r, u.descriptor)), D && n.push([bt(e, t, D.title, u.descriptor)].concat(D.values.map((a) => gu(a, u.loggerPrintWidth))).join(`
2061
+ `)), Eu(n, u.loggerPrintWidth);
2062
+ };
2063
+ function bt(e, t, u, r) {
2064
+ return [
2065
+ `Invalid ${M.red(r.key(e))} value.`,
2066
+ `Expected ${M.blue(u)},`,
2067
+ `but received ${t === Cu ? M.gray("nothing") : M.red(r.value(t))}.`
2068
+ ].join(" ");
2069
+ }
2070
+ function gu({ text: e, list: t }, u) {
2071
+ let r = [];
2072
+ return e && r.push(`- ${M.blue(e)}`), t && r.push([`- ${M.blue(t.title)}:`].concat(t.values.map((D) => gu(D, u - Bt.length).replace(/^|\n/g, `$&${Bt}`))).join(`
2073
+ `)), Eu(r, u);
2074
+ }
2075
+ function Eu(e, t) {
2076
+ if (e.length === 1) return e[0];
2077
+ let [u, r] = e, [D, n] = e.map((a) => a.split(`
2078
+ `, 1)[0].length);
2079
+ return D > t && D > n ? r : u;
2080
+ }
2081
+ var de = [], Re = [];
2082
+ function Me(e, t, u) {
2083
+ if (e === t) return 0;
2084
+ let r = u?.maxDistance, D = e;
2085
+ e.length > t.length && (e = t, t = D);
2086
+ let n = e.length, a = t.length;
2087
+ for (; n > 0 && e.charCodeAt(~-n) === t.charCodeAt(~-a); ) n--, a--;
2088
+ let i = 0;
2089
+ for (; i < n && e.charCodeAt(i) === t.charCodeAt(i); ) i++;
2090
+ if (n -= i, a -= i, r !== void 0 && a - n > r) return r;
2091
+ if (n === 0) return r !== void 0 && a > r ? r : a;
2092
+ let o, s, l, f, c = 0, d = 0;
2093
+ for (; c < n; ) Re[c] = e.charCodeAt(i + c), de[c] = ++c;
2094
+ for (; d < a; ) {
2095
+ for (o = t.charCodeAt(i + d), l = d++, s = d, c = 0; c < n; c++) f = o === Re[c] ? l : l + 1, l = de[c], s = de[c] = l > s ? f > s ? s + 1 : f : f > l ? l + 1 : f;
2096
+ if (r !== void 0) {
2097
+ let F = s;
2098
+ for (c = 0; c < n; c++) de[c] < F && (F = de[c]);
2099
+ if (F > r) return r;
2100
+ }
2101
+ }
2102
+ return de.length = n, Re.length = n, r !== void 0 && s > r ? r : s;
2103
+ }
2104
+ function Rn(e, t, u) {
2105
+ if (!Array.isArray(t) || t.length === 0) return;
2106
+ let r = u?.maxDistance, D = e.length;
2107
+ for (let o of t) if (o === e) return o;
2108
+ if (r === 0) return;
2109
+ let n, a = Number.POSITIVE_INFINITY, i = /* @__PURE__ */ new Set();
2110
+ for (let o of t) {
2111
+ if (i.has(o)) continue;
2112
+ i.add(o);
2113
+ let s = Math.abs(o.length - D);
2114
+ if (s >= a || r !== void 0 && s > r) continue;
2115
+ let l = Number.isFinite(a) ? r === void 0 ? a : Math.min(a, r) : r, f = l === void 0 ? Me(e, o) : Me(e, o, { maxDistance: l });
2116
+ if (r !== void 0 && f > r) continue;
2117
+ let c = f;
2118
+ if (l !== void 0 && f === l && l === r && (c = Me(e, o)), c < a && (a = c, n = o, a === 0)) break;
2119
+ }
2120
+ if (!(r !== void 0 && a > r)) return n;
2121
+ }
2122
+ var mu = (e, t, { descriptor: u, logger: r, schemas: D }) => {
2123
+ let n = [`Ignored unknown option ${M.yellow(u.pair({
2124
+ key: e,
2125
+ value: t
2126
+ }))}.`], a = Rn(e, Object.keys(D), { maxDistance: 3 });
2127
+ a && n.push(`Did you mean ${M.blue(u.key(a))}?`), r.warn(n.join(" "));
2128
+ }, Mn = [
2129
+ "default",
2130
+ "expected",
2131
+ "validate",
2132
+ "deprecated",
2133
+ "forward",
2134
+ "redirect",
2135
+ "overlap",
2136
+ "preprocess",
2137
+ "postprocess"
2138
+ ];
2139
+ function Jn(e, t) {
2140
+ let u = new e(t), r = Object.create(u);
2141
+ for (let D of Mn) D in t && (r[D] = Vn(t[D], u, re.prototype[D].length));
2142
+ return r;
2143
+ }
2144
+ var re = class {
2145
+ static create(e) {
2146
+ return Jn(this, e);
2147
+ }
2148
+ constructor(e) {
2149
+ this.name = e.name;
2150
+ }
2151
+ default(e) {
2152
+ }
2153
+ expected(e) {
2154
+ return "nothing";
2155
+ }
2156
+ validate(e, t) {
2157
+ return !1;
2158
+ }
2159
+ deprecated(e, t) {
2160
+ return !1;
2161
+ }
2162
+ forward(e, t) {
2163
+ }
2164
+ redirect(e, t) {
2165
+ }
2166
+ overlap(e, t, u) {
2167
+ return e;
2168
+ }
2169
+ preprocess(e, t) {
2170
+ return e;
2171
+ }
2172
+ postprocess(e, t) {
2173
+ return xe;
2174
+ }
2175
+ };
2176
+ function Vn(e, t, u) {
2177
+ return typeof e == "function" ? (...r) => e(...r.slice(0, u - 1), t, ...r.slice(u - 1)) : () => e;
2178
+ }
2179
+ var Wn = class extends re {
2180
+ constructor(e) {
2181
+ super(e), this._sourceName = e.sourceName;
2182
+ }
2183
+ expected(e) {
2184
+ return e.schemas[this._sourceName].expected(e);
2185
+ }
2186
+ validate(e, t) {
2187
+ return t.schemas[this._sourceName].validate(e, t);
2188
+ }
2189
+ redirect(e, t) {
2190
+ return this._sourceName;
2191
+ }
2192
+ }, Kn = class extends re {
2193
+ expected() {
2194
+ return "anything";
2195
+ }
2196
+ validate() {
2197
+ return !0;
2198
+ }
2199
+ }, zn = class extends re {
2200
+ constructor({ valueSchema: e, name: t = e.name, ...u }) {
2201
+ super({
2202
+ ...u,
2203
+ name: t
2204
+ }), this._valueSchema = e;
2205
+ }
2206
+ expected(e) {
2207
+ let { text: t, list: u } = e.normalizeExpectedResult(this._valueSchema.expected(e));
2208
+ return {
2209
+ text: t && `an array of ${t}`,
2210
+ list: u && {
2211
+ title: "an array of the following values",
2212
+ values: [{ list: u }]
2213
+ }
2214
+ };
2215
+ }
2216
+ validate(e, t) {
2217
+ if (!Array.isArray(e)) return !1;
2218
+ let u = [];
2219
+ for (let r of e) {
2220
+ let D = t.normalizeValidateResult(this._valueSchema.validate(r, t), r);
2221
+ D !== !0 && u.push(D.value);
2222
+ }
2223
+ return u.length === 0 ? !0 : { value: u };
2224
+ }
2225
+ deprecated(e, t) {
2226
+ let u = [];
2227
+ for (let r of e) {
2228
+ let D = t.normalizeDeprecatedResult(this._valueSchema.deprecated(r, t), r);
2229
+ D !== !1 && u.push(...D.map(({ value: n }) => ({ value: [n] })));
2230
+ }
2231
+ return u;
2232
+ }
2233
+ forward(e, t) {
2234
+ let u = [];
2235
+ for (let r of e) {
2236
+ let D = t.normalizeForwardResult(this._valueSchema.forward(r, t), r);
2237
+ u.push(...D.map(At));
2238
+ }
2239
+ return u;
2240
+ }
2241
+ redirect(e, t) {
2242
+ let u = [], r = [];
2243
+ for (let D of e) {
2244
+ let n = t.normalizeRedirectResult(this._valueSchema.redirect(D, t), D);
2245
+ "remain" in n && u.push(n.remain), r.push(...n.redirect.map(At));
2246
+ }
2247
+ return u.length === 0 ? { redirect: r } : {
2248
+ redirect: r,
2249
+ remain: u
2250
+ };
2251
+ }
2252
+ overlap(e, t) {
2253
+ return e.concat(t);
2254
+ }
2255
+ };
2256
+ function At({ from: e, to: t }) {
2257
+ return {
2258
+ from: [e],
2259
+ to: t
2260
+ };
2261
+ }
2262
+ var Xn = class extends re {
2263
+ expected() {
2264
+ return "true or false";
2265
+ }
2266
+ validate(e) {
2267
+ return typeof e == "boolean";
2268
+ }
2269
+ };
2270
+ function Un(e, t) {
2271
+ let u = /* @__PURE__ */ Object.create(null);
2272
+ for (let r of e) {
2273
+ let D = r[t];
2274
+ if (u[D]) throw new Error(`Duplicate ${t} ${JSON.stringify(D)}`);
2275
+ u[D] = r;
2276
+ }
2277
+ return u;
2278
+ }
2279
+ function qn(e, t) {
2280
+ let u = /* @__PURE__ */ new Map();
2281
+ for (let r of e) {
2282
+ let D = r[t];
2283
+ if (u.has(D)) throw new Error(`Duplicate ${t} ${JSON.stringify(D)}`);
2284
+ u.set(D, r);
2285
+ }
2286
+ return u;
2287
+ }
2288
+ function Hn() {
2289
+ let e = /* @__PURE__ */ Object.create(null);
2290
+ return (t) => {
2291
+ let u = JSON.stringify(t);
2292
+ return e[u] ? !0 : (e[u] = !0, !1);
2293
+ };
2294
+ }
2295
+ function Gn(e, t) {
2296
+ let u = [], r = [];
2297
+ for (let D of e) t(D) ? u.push(D) : r.push(D);
2298
+ return [u, r];
2299
+ }
2300
+ function Yn(e) {
2301
+ return e === Math.floor(e);
2302
+ }
2303
+ function Qn(e, t) {
2304
+ if (e === t) return 0;
2305
+ let u = typeof e, r = typeof t, D = [
2306
+ "undefined",
2307
+ "object",
2308
+ "boolean",
2309
+ "number",
2310
+ "string"
2311
+ ];
2312
+ return u !== r ? D.indexOf(u) - D.indexOf(r) : u !== "string" ? Number(e) - Number(t) : e.localeCompare(t);
2313
+ }
2314
+ function Zn(e) {
2315
+ return (...t) => {
2316
+ let u = e(...t);
2317
+ return typeof u == "string" ? new Error(u) : u;
2318
+ };
2319
+ }
2320
+ function wt(e) {
2321
+ return e === void 0 ? {} : e;
2322
+ }
2323
+ function yu(e) {
2324
+ if (typeof e == "string") return { text: e };
2325
+ let { text: t, list: u } = e;
2326
+ return eD((t || u) !== void 0, "Unexpected `expected` result, there should be at least one field."), u ? {
2327
+ text: t,
2328
+ list: {
2329
+ title: u.title,
2330
+ values: u.values.map(yu)
2331
+ }
2332
+ } : { text: t };
2333
+ }
2334
+ function kt(e, t) {
2335
+ return e === !0 ? !0 : e === !1 ? { value: t } : e;
2336
+ }
2337
+ function xt(e, t, u = !1) {
2338
+ return e === !1 ? !1 : e === !0 ? u ? !0 : [{ value: t }] : "value" in e ? [e] : e.length === 0 ? !1 : e;
2339
+ }
2340
+ function St(e, t) {
2341
+ return typeof e == "string" || "key" in e ? {
2342
+ from: t,
2343
+ to: e
2344
+ } : "from" in e ? {
2345
+ from: e.from,
2346
+ to: e.to
2347
+ } : {
2348
+ from: t,
2349
+ to: e.to
2350
+ };
2351
+ }
2352
+ function Xe(e, t) {
2353
+ return e === void 0 ? [] : Array.isArray(e) ? e.map((u) => St(u, t)) : [St(e, t)];
2354
+ }
2355
+ function It(e, t) {
2356
+ let u = Xe(typeof e == "object" && "redirect" in e ? e.redirect : e, t);
2357
+ return u.length === 0 ? {
2358
+ remain: t,
2359
+ redirect: u
2360
+ } : typeof e == "object" && "remain" in e ? {
2361
+ remain: e.remain,
2362
+ redirect: u
2363
+ } : { redirect: u };
2364
+ }
2365
+ function eD(e, t) {
2366
+ if (!e) throw new Error(t);
2367
+ }
2368
+ var tD = class extends re {
2369
+ constructor(e) {
2370
+ super(e), this._choices = qn(e.choices.map((t) => t && typeof t == "object" ? t : { value: t }), "value");
2371
+ }
2372
+ expected({ descriptor: e }) {
2373
+ let t = Array.from(this._choices.keys()).map((D) => this._choices.get(D)).filter(({ hidden: D }) => !D).map((D) => D.value).sort(Qn).map(e.value), u = t.slice(0, -2), r = t.slice(-2);
2374
+ return {
2375
+ text: u.concat(r.join(" or ")).join(", "),
2376
+ list: {
2377
+ title: "one of the following values",
2378
+ values: t
2379
+ }
2380
+ };
2381
+ }
2382
+ validate(e) {
2383
+ return this._choices.has(e);
2384
+ }
2385
+ deprecated(e) {
2386
+ let t = this._choices.get(e);
2387
+ return t && t.deprecated ? { value: e } : !1;
2388
+ }
2389
+ forward(e) {
2390
+ let t = this._choices.get(e);
2391
+ return t ? t.forward : void 0;
2392
+ }
2393
+ redirect(e) {
2394
+ let t = this._choices.get(e);
2395
+ return t ? t.redirect : void 0;
2396
+ }
2397
+ }, uD = class extends re {
2398
+ expected() {
2399
+ return "a number";
2400
+ }
2401
+ validate(e, t) {
2402
+ return typeof e == "number";
2403
+ }
2404
+ }, rD = class extends uD {
2405
+ expected() {
2406
+ return "an integer";
2407
+ }
2408
+ validate(e, t) {
2409
+ return t.normalizeValidateResult(super.validate(e, t), e) === !0 && Yn(e);
2410
+ }
2411
+ }, Nt = class extends re {
2412
+ expected() {
2413
+ return "a string";
2414
+ }
2415
+ validate(e) {
2416
+ return typeof e == "string";
2417
+ }
2418
+ }, nD = Fe, DD = mu, aD = $n, iD = Ln, oD = class {
2419
+ constructor(e, t) {
2420
+ let { logger: u = console, loggerPrintWidth: r = 80, descriptor: D = nD, unknown: n = DD, invalid: a = aD, deprecated: i = iD, missing: o = () => !1, required: s = () => !1, preprocess: l = (c) => c, postprocess: f = () => xe } = t || {};
2421
+ this._utils = {
2422
+ descriptor: D,
2423
+ logger: u || { warn: () => {
2424
+ } },
2425
+ loggerPrintWidth: r,
2426
+ schemas: Un(e, "name"),
2427
+ normalizeDefaultResult: wt,
2428
+ normalizeExpectedResult: yu,
2429
+ normalizeDeprecatedResult: xt,
2430
+ normalizeForwardResult: Xe,
2431
+ normalizeRedirectResult: It,
2432
+ normalizeValidateResult: kt
2433
+ }, this._unknownHandler = n, this._invalidHandler = Zn(a), this._deprecatedHandler = i, this._identifyMissing = (c, d) => !(c in d) || o(c, d), this._identifyRequired = s, this._preprocess = l, this._postprocess = f, this.cleanHistory();
2434
+ }
2435
+ cleanHistory() {
2436
+ this._hasDeprecationWarned = Hn();
2437
+ }
2438
+ normalize(e) {
2439
+ let t = {}, u = [this._preprocess(e, this._utils)], r = () => {
2440
+ for (; u.length !== 0; ) {
2441
+ let D = u.shift(), n = this._applyNormalization(D, t);
2442
+ u.push(...n);
2443
+ }
2444
+ };
2445
+ r();
2446
+ for (let D of Object.keys(this._utils.schemas)) {
2447
+ let n = this._utils.schemas[D];
2448
+ if (!(D in t)) {
2449
+ let a = wt(n.default(this._utils));
2450
+ "value" in a && u.push({ [D]: a.value });
2451
+ }
2452
+ }
2453
+ r();
2454
+ for (let D of Object.keys(this._utils.schemas)) {
2455
+ if (!(D in t)) continue;
2456
+ let n = this._utils.schemas[D], a = t[D], i = n.postprocess(a, this._utils);
2457
+ i !== xe && (this._applyValidation(i, D, n), t[D] = i);
2458
+ }
2459
+ return this._applyPostprocess(t), this._applyRequiredCheck(t), t;
2460
+ }
2461
+ _applyNormalization(e, t) {
2462
+ let u = [], { knownKeys: r, unknownKeys: D } = this._partitionOptionKeys(e);
2463
+ for (let n of r) {
2464
+ let a = this._utils.schemas[n], i = a.preprocess(e[n], this._utils);
2465
+ this._applyValidation(i, n, a);
2466
+ let o = ({ from: f, to: c }) => {
2467
+ u.push(typeof c == "string" ? { [c]: f } : { [c.key]: c.value });
2468
+ }, s = ({ value: f, redirectTo: c }) => {
2469
+ let d = xt(a.deprecated(f, this._utils), i, !0);
2470
+ if (d !== !1) if (d === !0) this._hasDeprecationWarned(n) || this._utils.logger.warn(this._deprecatedHandler(n, c, this._utils));
2471
+ else for (let { value: F } of d) {
2472
+ let p = {
2473
+ key: n,
2474
+ value: F
2475
+ };
2476
+ if (!this._hasDeprecationWarned(p)) {
2477
+ let g = typeof c == "string" ? {
2478
+ key: c,
2479
+ value: F
2480
+ } : c;
2481
+ this._utils.logger.warn(this._deprecatedHandler(p, g, this._utils));
2482
+ }
2483
+ }
2484
+ };
2485
+ Xe(a.forward(i, this._utils), i).forEach(o);
2486
+ let l = It(a.redirect(i, this._utils), i);
2487
+ if (l.redirect.forEach(o), "remain" in l) {
2488
+ let f = l.remain;
2489
+ t[n] = n in t ? a.overlap(t[n], f, this._utils) : f, s({ value: f });
2490
+ }
2491
+ for (let { from: f, to: c } of l.redirect) s({
2492
+ value: f,
2493
+ redirectTo: c
2494
+ });
2495
+ }
2496
+ for (let n of D) {
2497
+ let a = e[n];
2498
+ this._applyUnknownHandler(n, a, t, (i, o) => {
2499
+ u.push({ [i]: o });
2500
+ });
2501
+ }
2502
+ return u;
2503
+ }
2504
+ _applyRequiredCheck(e) {
2505
+ for (let t of Object.keys(this._utils.schemas)) if (this._identifyMissing(t, e) && this._identifyRequired(t)) throw this._invalidHandler(t, Cu, this._utils);
2506
+ }
2507
+ _partitionOptionKeys(e) {
2508
+ let [t, u] = Gn(Object.keys(e).filter((r) => !this._identifyMissing(r, e)), (r) => r in this._utils.schemas);
2509
+ return {
2510
+ knownKeys: t,
2511
+ unknownKeys: u
2512
+ };
2513
+ }
2514
+ _applyValidation(e, t, u) {
2515
+ let r = kt(u.validate(e, this._utils), e);
2516
+ if (r !== !0) throw this._invalidHandler(t, r.value, this._utils);
2517
+ }
2518
+ _applyUnknownHandler(e, t, u, r) {
2519
+ let D = this._unknownHandler(e, t, this._utils);
2520
+ if (D) for (let n of Object.keys(D)) {
2521
+ if (this._identifyMissing(n, D)) continue;
2522
+ let a = D[n];
2523
+ n in this._utils.schemas ? r(n, a) : u[n] = a;
2524
+ }
2525
+ }
2526
+ _applyPostprocess(e) {
2527
+ let t = this._postprocess(e, this._utils);
2528
+ if (t !== xe) {
2529
+ if (t.delete) for (let u of t.delete) delete e[u];
2530
+ if (t.override) {
2531
+ let { knownKeys: u, unknownKeys: r } = this._partitionOptionKeys(t.override);
2532
+ for (let D of u) {
2533
+ let n = t.override[D];
2534
+ this._applyValidation(n, D, this._utils.schemas[D]), e[D] = n;
2535
+ }
2536
+ for (let D of r) {
2537
+ let n = t.override[D];
2538
+ this._applyUnknownHandler(D, n, e, (a, i) => {
2539
+ let o = this._utils.schemas[a];
2540
+ this._applyValidation(i, a, o), e[a] = i;
2541
+ });
2542
+ }
2543
+ }
2544
+ }
2545
+ }
2546
+ }, Je;
2547
+ function sD(e, t, { logger: u = !1, isCLI: r = !1, passThrough: D = !1, FlagSchema: n, descriptor: a } = {}) {
2548
+ if (r) {
2549
+ if (!n) throw new Error("'FlagSchema' option is required.");
2550
+ if (!a) throw new Error("'descriptor' option is required.");
2551
+ } else a = Fe;
2552
+ let i = D ? Array.isArray(D) ? (f, c) => D.includes(f) ? { [f]: c } : void 0 : (f, c) => ({ [f]: c }) : (f, c, d) => {
2553
+ let { _: F, ...p } = d.schemas;
2554
+ return mu(f, c, {
2555
+ ...d,
2556
+ schemas: p
2557
+ });
2558
+ }, o = new oD(lD(t, {
2559
+ isCLI: r,
2560
+ FlagSchema: n
2561
+ }), {
2562
+ logger: u,
2563
+ unknown: i,
2564
+ descriptor: a
2565
+ }), s = u !== !1;
2566
+ s && Je && (o._hasDeprecationWarned = Je);
2567
+ let l = o.normalize(e);
2568
+ return s && (Je = o._hasDeprecationWarned), l;
2569
+ }
2570
+ function lD(e, { isCLI: t, FlagSchema: u }) {
2571
+ let r = [];
2572
+ t && r.push(Kn.create({ name: "_" }));
2573
+ for (let D of e) r.push(cD(D, {
2574
+ isCLI: t,
2575
+ optionInfos: e,
2576
+ FlagSchema: u
2577
+ })), D.alias && t && r.push(Wn.create({
2578
+ name: D.alias,
2579
+ sourceName: D.name
2580
+ }));
2581
+ return r;
2582
+ }
2583
+ function cD(e, { isCLI: t, optionInfos: u, FlagSchema: r }) {
2584
+ let { name: D } = e, n = { name: D }, a, i = {};
2585
+ switch (e.type) {
2586
+ case "int":
2587
+ a = rD, t && (n.preprocess = Number);
2588
+ break;
2589
+ case "string":
2590
+ a = Nt;
2591
+ break;
2592
+ case "choice":
2593
+ a = tD, n.choices = e.choices.map((o) => o?.redirect ? {
2594
+ ...o,
2595
+ redirect: { to: {
2596
+ key: e.name,
2597
+ value: o.redirect
2598
+ } }
2599
+ } : o);
2600
+ break;
2601
+ case "boolean":
2602
+ a = Xn;
2603
+ break;
2604
+ case "flag":
2605
+ a = r, n.flags = u.flatMap((o) => [
2606
+ o.alias,
2607
+ o.description && o.name,
2608
+ o.oppositeDescription && `no-${o.name}`
2609
+ ].filter(Boolean));
2610
+ break;
2611
+ case "path":
2612
+ a = Nt;
2613
+ break;
2614
+ default:
2615
+ throw new Error(`Unexpected type ${e.type}`);
2616
+ }
2617
+ if (e.exception ? n.validate = (o, s, l) => e.exception(o) || s.validate(o, l) : n.validate = (o, s, l) => o === void 0 || s.validate(o, l), e.redirect && (i.redirect = (o) => o ? { to: typeof e.redirect == "string" ? e.redirect : {
2618
+ key: e.redirect.option,
2619
+ value: e.redirect.value
2620
+ } } : void 0), e.deprecated && (i.deprecated = !0), t && !e.array) {
2621
+ let o = n.preprocess || ((s) => s);
2622
+ n.preprocess = (s, l, f) => l.preprocess(o(Array.isArray(s) ? S(0, s, -1) : s), f);
2623
+ }
2624
+ return e.array ? zn.create({
2625
+ ...t ? { preprocess: (o) => Array.isArray(o) ? o : [o] } : {},
2626
+ ...i,
2627
+ valueSchema: a.create(n)
2628
+ }) : a.create({
2629
+ ...n,
2630
+ ...i
2631
+ });
2632
+ }
2633
+ var fD = sD, dD = Array.prototype.findLast ?? function(e) {
2634
+ for (let t = this.length - 1; t >= 0; t--) {
2635
+ let u = this[t];
2636
+ if (e(u, t, this)) return u;
2637
+ }
2638
+ }, vu = ve("findLast", function() {
2639
+ if (Array.isArray(this)) return dD;
2640
+ }), FD = /* @__PURE__ */ Symbol.for("PRETTIER_IS_FRONT_MATTER"), pD = [];
2641
+ function hD(e) {
2642
+ return !!e?.[FD];
2643
+ }
2644
+ var it = hD, Bu = /* @__PURE__ */ new Set(["yaml", "toml"]), bu = ({ node: e }) => it(e) && Bu.has(e.language);
2645
+ async function CD(e, t, u, r) {
2646
+ let { node: D } = u, { language: n } = D;
2647
+ if (!Bu.has(n)) return;
2648
+ let a = D.value.trim(), i;
2649
+ if (a) {
2650
+ let o = n === "yaml" ? n : pu(r, { language: n });
2651
+ if (!o) return;
2652
+ i = a ? await e(a, { parser: o }) : "";
2653
+ } else i = a;
2654
+ return qt([
2655
+ D.startDelimiter,
2656
+ D.explicitLanguage ?? "",
2657
+ z,
2658
+ i,
2659
+ i ? z : "",
2660
+ D.endDelimiter
2661
+ ]);
2662
+ }
2663
+ function gD(e, t) {
2664
+ return bu({ node: e }) && (delete t.end, delete t.raw, delete t.value), t;
2665
+ }
2666
+ var ED = gD;
2667
+ function mD({ node: e }) {
2668
+ return e.raw;
2669
+ }
2670
+ var yD = mD, Au = /* @__PURE__ */ new Set([
2671
+ "tokens",
2672
+ "comments",
2673
+ "parent",
2674
+ "enclosingNode",
2675
+ "precedingNode",
2676
+ "followingNode"
2677
+ ]), vD = (e) => Object.keys(e).filter((t) => !Au.has(t));
2678
+ function BD(e, t) {
2679
+ let u = e ? (r) => e(r, Au) : vD;
2680
+ return t ? new Proxy(u, { apply: (r, D, n) => it(n[0]) ? pD : Reflect.apply(r, D, n) }) : u;
2681
+ }
2682
+ var _t = BD;
2683
+ function wu(e, t) {
2684
+ if (!t) throw new Error("parserName is required.");
2685
+ let u = vu(0, e, (D) => D.parsers && Object.prototype.hasOwnProperty.call(D.parsers, t));
2686
+ if (u) return u;
2687
+ let r = `Couldn't resolve parser "${t}".`;
2688
+ throw r += " Plugins must be explicitly added to the standalone bundle.", new fu(r);
2689
+ }
2690
+ function bD(e, t) {
2691
+ if (!t) throw new Error("astFormat is required.");
2692
+ let u = vu(0, e, (D) => D.printers && Object.prototype.hasOwnProperty.call(D.printers, t));
2693
+ if (u) return u;
2694
+ let r = `Couldn't find plugin for AST format "${t}".`;
2695
+ throw r += " Plugins must be explicitly added to the standalone bundle.", new fu(r);
2696
+ }
2697
+ function ot({ plugins: e, parser: t }) {
2698
+ return ku(wu(e, t), t);
2699
+ }
2700
+ function ku(e, t) {
2701
+ let u = e.parsers[t];
2702
+ return typeof u == "function" ? u() : u;
2703
+ }
2704
+ async function AD(e, t) {
2705
+ let u = e.printers[t];
2706
+ return wD(typeof u == "function" ? await u() : u);
2707
+ }
2708
+ var Ve = /* @__PURE__ */ new WeakMap();
2709
+ function wD(e) {
2710
+ if (Ve.has(e)) return Ve.get(e);
2711
+ let { features: t, getVisitorKeys: u, embed: r, massageAstNode: D, print: n, ...a } = e;
2712
+ t = SD(t);
2713
+ let i = t.experimental_frontMatterSupport;
2714
+ u = _t(u, i.massageAstNode || i.embed || i.print);
2715
+ let o = D;
2716
+ D && i.massageAstNode && (o = new Proxy(D, { apply(c, d, F) {
2717
+ return ED(...F), Reflect.apply(c, d, F);
2718
+ } }));
2719
+ let s = r;
2720
+ if (r) {
2721
+ let c;
2722
+ s = new Proxy(r, {
2723
+ get(d, F, p) {
2724
+ return F === "getVisitorKeys" ? (c ?? (c = r.getVisitorKeys ? _t(r.getVisitorKeys, i.massageAstNode || i.embed) : u), c) : Reflect.get(d, F, p);
2725
+ },
2726
+ apply: (d, F, p) => i.embed && bu(...p) ? CD : Reflect.apply(d, F, p)
2727
+ });
2728
+ }
2729
+ let l = n;
2730
+ i.print && (l = new Proxy(n, { apply(c, d, F) {
2731
+ let [p] = F;
2732
+ return it(p.node) ? yD(p) : Reflect.apply(c, d, F);
2733
+ } }));
2734
+ let f = {
2735
+ features: t,
2736
+ getVisitorKeys: u,
2737
+ embed: s,
2738
+ massageAstNode: o,
2739
+ print: l,
2740
+ ...a
2741
+ };
2742
+ return Ve.set(e, f), f;
2743
+ }
2744
+ var kD = Object.fromEntries([
2745
+ "clean",
2746
+ "embed",
2747
+ "print"
2748
+ ].map((e) => [e, !1]));
2749
+ function xD(e) {
2750
+ return {
2751
+ ...kD,
2752
+ ...e
2753
+ };
2754
+ }
2755
+ function SD(e) {
2756
+ return {
2757
+ experimental_avoidAstMutation: !1,
2758
+ ...e,
2759
+ experimental_frontMatterSupport: xD(e?.experimental_frontMatterSupport)
2760
+ };
2761
+ }
2762
+ var Ot = {
2763
+ astFormat: "estree",
2764
+ printer: {},
2765
+ originalText: void 0,
2766
+ locStart: null,
2767
+ locEnd: null,
2768
+ getVisitorKeys: null
2769
+ };
2770
+ async function ID(e, t = {}) {
2771
+ let u = { ...e };
2772
+ if (!u.parser) if (u.filepath) {
2773
+ if (u.parser = pu(u, { physicalFile: u.filepath }), !u.parser) throw new mt(`No parser could be inferred for file "${u.filepath}".`);
2774
+ } else throw new mt("No parser and no file path given, couldn't infer a parser.");
2775
+ let r = du({
2776
+ plugins: e.plugins,
2777
+ showDeprecated: !0
2778
+ }).options, D = {
2779
+ ...Ot,
2780
+ ...Object.fromEntries(r.filter((f) => f.default !== void 0).map((f) => [f.name, f.default]))
2781
+ }, n = wu(u.plugins, u.parser), a = await ku(n, u.parser);
2782
+ u.astFormat = a.astFormat, u.locEnd = a.locEnd, u.locStart = a.locStart;
2783
+ let i = n.printers?.[a.astFormat] ? n : bD(u.plugins, a.astFormat), o = await AD(i, a.astFormat);
2784
+ u.printer = o, u.getVisitorKeys = o.getVisitorKeys;
2785
+ let s = i.defaultOptions ? Object.fromEntries(Object.entries(i.defaultOptions).filter(([, f]) => f !== void 0)) : {}, l = {
2786
+ ...D,
2787
+ ...s
2788
+ };
2789
+ for (let [f, c] of Object.entries(l)) (u[f] === null || u[f] === void 0) && (u[f] = c);
2790
+ return u.parser === "json" && (u.trailingComma = "none"), fD(u, r, {
2791
+ passThrough: Object.keys(Ot),
2792
+ ...t
2793
+ });
2794
+ }
2795
+ var Ce = ID;
2796
+ Gu(Yu(), 1);
2797
+ var st = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-࢏ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚ౜ౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ೜-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ƛ꟱-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ", xu = "·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-᫝᫠-᫫ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・";
2798
+ new RegExp("[" + st + "]");
2799
+ new RegExp("[" + st + xu + "]");
2800
+ st = xu = null;
2801
+ var lt = {
2802
+ keyword: [
2803
+ "break",
2804
+ "case",
2805
+ "catch",
2806
+ "continue",
2807
+ "debugger",
2808
+ "default",
2809
+ "do",
2810
+ "else",
2811
+ "finally",
2812
+ "for",
2813
+ "function",
2814
+ "if",
2815
+ "return",
2816
+ "switch",
2817
+ "throw",
2818
+ "try",
2819
+ "var",
2820
+ "const",
2821
+ "while",
2822
+ "with",
2823
+ "new",
2824
+ "this",
2825
+ "super",
2826
+ "class",
2827
+ "extends",
2828
+ "export",
2829
+ "import",
2830
+ "null",
2831
+ "true",
2832
+ "false",
2833
+ "in",
2834
+ "instanceof",
2835
+ "typeof",
2836
+ "void",
2837
+ "delete"
2838
+ ],
2839
+ strict: [
2840
+ "implements",
2841
+ "interface",
2842
+ "let",
2843
+ "package",
2844
+ "private",
2845
+ "protected",
2846
+ "public",
2847
+ "static",
2848
+ "yield"
2849
+ ],
2850
+ strictBind: ["eval", "arguments"]
2851
+ };
2852
+ new Set(lt.keyword);
2853
+ new Set(lt.strict);
2854
+ new Set(lt.strictBind);
2855
+ var we = (e, t) => (u) => e(t(u));
2856
+ function Su(e) {
2857
+ return {
2858
+ keyword: e.cyan,
2859
+ capitalized: e.yellow,
2860
+ jsxIdentifier: e.yellow,
2861
+ punctuator: e.yellow,
2862
+ number: e.magenta,
2863
+ string: e.green,
2864
+ regex: e.magenta,
2865
+ comment: e.gray,
2866
+ invalid: we(we(e.white, e.bgRed), e.bold),
2867
+ gutter: e.gray,
2868
+ marker: we(e.red, e.bold),
2869
+ message: we(e.red, e.bold),
2870
+ reset: e.reset
2871
+ };
2872
+ }
2873
+ Su(hu(!0));
2874
+ Su(hu(!1));
2875
+ function ND() {
2876
+ return new Proxy({}, { get: () => (e) => e });
2877
+ }
2878
+ var Tt = /\r\n|[\n\r\u2028\u2029]/;
2879
+ function _D(e, t, u) {
2880
+ let r = Object.assign({
2881
+ column: 0,
2882
+ line: -1
2883
+ }, e.start), D = Object.assign({}, r, e.end), { linesAbove: n = 2, linesBelow: a = 3 } = u || {}, i = r.line, o = r.column, s = D.line, l = D.column, f = Math.max(i - (n + 1), 0), c = Math.min(t.length, s + a);
2884
+ i === -1 && (f = 0), s === -1 && (c = t.length);
2885
+ let d = s - i, F = {};
2886
+ if (d) for (let p = 0; p <= d; p++) {
2887
+ let g = p + i;
2888
+ o ? p === 0 ? F[g] = [o, t[g - 1].length - o + 1] : p === d ? F[g] = [0, l] : F[g] = [0, t[g - p].length] : F[g] = !0;
2889
+ }
2890
+ else o === l ? o ? F[i] = [o, 0] : F[i] = !0 : F[i] = [o, l - o];
2891
+ return {
2892
+ start: f,
2893
+ end: c,
2894
+ markerLines: F
2895
+ };
2896
+ }
2897
+ function OD(e, t, u = {}) {
2898
+ let r = ND(!1), { start: D, end: n, markerLines: a } = _D(t, e.split(Tt), u), i = t.start && typeof t.start.column == "number", o = String(n).length, s = e.split(Tt, n).slice(D, n).map((l, f) => {
2899
+ let c = D + 1 + f, d = ` ${` ${c}`.slice(-o)} |`, F = a[c], p = !a[c + 1];
2900
+ if (F) {
2901
+ let g = "";
2902
+ if (Array.isArray(F)) {
2903
+ let v = l.slice(0, Math.max(F[0] - 1, 0)).replace(/[^\t]/g, " "), E = F[1] || 1;
2904
+ g = [
2905
+ `
2906
+ `,
2907
+ r.gutter(d.replace(/\d/g, " ")),
2908
+ " ",
2909
+ v,
2910
+ r.marker("^").repeat(E)
2911
+ ].join(""), p && u.message && (g += " " + r.message(u.message));
2912
+ }
2913
+ return [
2914
+ r.marker(">"),
2915
+ r.gutter(d),
2916
+ l.length > 0 ? ` ${l}` : "",
2917
+ g
2918
+ ].join("");
2919
+ } else return ` ${r.gutter(d)}${l.length > 0 ? ` ${l}` : ""}`;
2920
+ }).join(`
2921
+ `);
2922
+ return u.message && !i && (s = `${" ".repeat(o + 1)}${u.message}
2923
+ ${s}`), s;
2924
+ }
2925
+ async function TD(e, t) {
2926
+ let u = await ot(t), r = u.preprocess ? await u.preprocess(e, t) : e;
2927
+ t.originalText = r;
2928
+ let D;
2929
+ try {
2930
+ D = await u.parse(r, t, t);
2931
+ } catch (n) {
2932
+ PD(n, e);
2933
+ }
2934
+ return {
2935
+ text: r,
2936
+ ast: D
2937
+ };
2938
+ }
2939
+ function PD(e, t) {
2940
+ let { loc: u } = e;
2941
+ if (u) {
2942
+ let r = OD(t, u, { highlightCode: !0 });
2943
+ throw e.message += `
2944
+ ` + r, e.codeFrame = r, e;
2945
+ }
2946
+ throw e;
2947
+ }
2948
+ var be = TD;
2949
+ async function jD(e, t, u, r, D) {
2950
+ if (u.embeddedLanguageFormatting !== "auto") return;
2951
+ let { printer: n } = u, { embed: a } = n;
2952
+ if (!a) return;
2953
+ if (a.length > 2) throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");
2954
+ let { hasPrettierIgnore: i } = n, { getVisitorKeys: o } = a, s = [];
2955
+ c();
2956
+ let l = e.stack;
2957
+ for (let { print: d, node: F, pathStack: p } of s) try {
2958
+ e.stack = p;
2959
+ let g = await d(f, t, e, u);
2960
+ g && D.set(F, g);
2961
+ } catch (g) {
2962
+ if (globalThis.PRETTIER_DEBUG) throw g;
2963
+ }
2964
+ e.stack = l;
2965
+ function f(d, F) {
2966
+ return LD(d, F, u, r);
2967
+ }
2968
+ function c() {
2969
+ let { node: d } = e;
2970
+ if (d === null || typeof d != "object" || i?.(e)) return;
2971
+ for (let p of o(d)) Array.isArray(d[p]) ? e.each(c, p) : e.call(c, p);
2972
+ let F = a(e, u);
2973
+ if (F) {
2974
+ if (typeof F == "function") {
2975
+ s.push({
2976
+ print: F,
2977
+ node: d,
2978
+ pathStack: [...e.stack]
2979
+ });
2980
+ return;
2981
+ }
2982
+ D.set(d, F);
2983
+ }
2984
+ }
2985
+ }
2986
+ async function LD(e, t, u, r) {
2987
+ let D = await Ce({
2988
+ ...u,
2989
+ ...t,
2990
+ parentParser: u.parser,
2991
+ originalText: e,
2992
+ cursorOffset: void 0,
2993
+ rangeStart: void 0,
2994
+ rangeEnd: void 0
2995
+ }, { passThrough: !0 }), { ast: n } = await be(e, D);
2996
+ return Xt(await r(n, D));
2997
+ }
2998
+ function $D(e, t, u, r) {
2999
+ let { originalText: D, [/* @__PURE__ */ Symbol.for("comments")]: n, locStart: a, locEnd: i, [/* @__PURE__ */ Symbol.for("printedComments")]: o } = t, { node: s } = e, l = a(s), f = i(s);
3000
+ for (let d of n) a(d) >= l && i(d) <= f && o.add(d);
3001
+ let { printPrettierIgnored: c } = t.printer;
3002
+ return c ? c(e, t, u, r) : D.slice(l, f);
3003
+ }
3004
+ var RD = $D;
3005
+ async function je(e, t) {
3006
+ ({ ast: e } = await Iu(e, t));
3007
+ let u = /* @__PURE__ */ new Map(), r = new tn(e), D = yn(t), n = /* @__PURE__ */ new Map();
3008
+ await jD(r, i, t, je, n);
3009
+ let a = await Pt(r, t, i, void 0, n);
3010
+ if (mn(t), t.cursorOffset >= 0) {
3011
+ if (t.nodeAfterCursor && !t.nodeBeforeCursor) return [ie, a];
3012
+ if (t.nodeBeforeCursor && !t.nodeAfterCursor) return [a, ie];
3013
+ }
3014
+ return a;
3015
+ function i(s, l) {
3016
+ return s === void 0 || s === r ? o(l) : Array.isArray(s) ? r.call(() => o(l), ...s) : r.call(() => o(l), s);
3017
+ }
3018
+ function o(s) {
3019
+ D(r);
3020
+ let l = r.node;
3021
+ if (l == null) return "";
3022
+ let f = rt(l) && s === void 0;
3023
+ if (f && u.has(l)) return u.get(l);
3024
+ let c = Pt(r, t, i, s, n);
3025
+ return f && u.set(l, c), c;
3026
+ }
3027
+ }
3028
+ function Pt(e, t, u, r, D) {
3029
+ let { node: n } = e, { printer: a } = t, i;
3030
+ switch (a.hasPrettierIgnore?.(e) ? i = RD(e, t, u, r) : D.has(n) ? i = D.get(n) : i = a.print(e, t, u, r), n) {
3031
+ case t.cursorNode:
3032
+ i = ke(i, (o) => [
3033
+ ie,
3034
+ o,
3035
+ ie
3036
+ ]);
3037
+ break;
3038
+ case t.nodeBeforeCursor:
3039
+ i = ke(i, (o) => [o, ie]);
3040
+ break;
3041
+ case t.nodeAfterCursor:
3042
+ i = ke(i, (o) => [ie, o]);
3043
+ break;
3044
+ }
3045
+ return a.printComment && !a.willPrintOwnComments?.(e, t) && (i = En(e, i, t)), i;
3046
+ }
3047
+ async function Iu(e, t) {
3048
+ let u = e.comments ?? [];
3049
+ t[/* @__PURE__ */ Symbol.for("comments")] = u, t[/* @__PURE__ */ Symbol.for("printedComments")] = /* @__PURE__ */ new Set(), fn(e, t);
3050
+ let { printer: { preprocess: r } } = t;
3051
+ return e = r ? await r(e, t) : e, {
3052
+ ast: e,
3053
+ comments: u
3054
+ };
3055
+ }
3056
+ function MD(e, t) {
3057
+ let { cursorOffset: u, locStart: r, locEnd: D, getVisitorKeys: n } = t, a = (d) => r(d) <= u && D(d) >= u, i = e, o = [e];
3058
+ for (let d of sn(e, {
3059
+ getVisitorKeys: n,
3060
+ filter: a
3061
+ })) o.push(d), i = d;
3062
+ if (ln(i, { getVisitorKeys: n })) return { cursorNode: i };
3063
+ let s, l, f = -1, c = Number.POSITIVE_INFINITY;
3064
+ for (; o.length > 0 && (s === void 0 || l === void 0); ) {
3065
+ i = o.pop();
3066
+ let d = s !== void 0, F = l !== void 0;
3067
+ for (let p of Pe(i, { getVisitorKeys: n })) {
3068
+ if (!d) {
3069
+ let g = D(p);
3070
+ g <= u && g > f && (s = p, f = g);
3071
+ }
3072
+ if (!F) {
3073
+ let g = r(p);
3074
+ g >= u && g < c && (l = p, c = g);
3075
+ }
3076
+ }
3077
+ }
3078
+ return {
3079
+ nodeBeforeCursor: s,
3080
+ nodeAfterCursor: l
3081
+ };
3082
+ }
3083
+ var Nu = MD;
3084
+ function JD(e, t) {
3085
+ let { printer: u } = t, r = u.massageAstNode;
3086
+ if (!r) return e;
3087
+ let { getVisitorKeys: D } = u, { ignoredProperties: n } = r;
3088
+ return a(e);
3089
+ function a(i, o) {
3090
+ if (!rt(i)) return i;
3091
+ if (Array.isArray(i)) return i.map((c) => a(c, o)).filter(Boolean);
3092
+ let s = {}, l = new Set(D(i));
3093
+ for (let c in i) !Object.prototype.hasOwnProperty.call(i, c) || n?.has(c) || (l.has(c) ? s[c] = a(i[c], i) : s[c] = i[c]);
3094
+ let f = r(i, s, o);
3095
+ if (f !== null) return f ?? s;
3096
+ }
3097
+ }
3098
+ var VD = JD, WD = Array.prototype.findLastIndex ?? function(e) {
3099
+ for (let t = this.length - 1; t >= 0; t--) {
3100
+ let u = this[t];
3101
+ if (e(u, t, this)) return t;
3102
+ }
3103
+ return -1;
3104
+ }, KD = ve("findLastIndex", function() {
3105
+ if (Array.isArray(this)) return WD;
3106
+ }), zD = ({ parser: e }) => e === "json" || e === "json5" || e === "jsonc" || e === "json-stringify";
3107
+ function XD(e, t) {
3108
+ return t = new Set(t), e.find((u) => _u.has(u.type) && t.has(u));
3109
+ }
3110
+ function jt(e) {
3111
+ let t = KD(0, e, (u) => u.type !== "Program" && u.type !== "File");
3112
+ return t === -1 ? e : e.slice(0, t + 1);
3113
+ }
3114
+ function UD(e, t, { locStart: u, locEnd: r }) {
3115
+ let [D, ...n] = e, [a, ...i] = t;
3116
+ if (D === a) return [D, a];
3117
+ let o = u(D);
3118
+ for (let l of jt(i)) if (u(l) >= o) a = l;
3119
+ else break;
3120
+ let s = r(a);
3121
+ for (let l of jt(n)) {
3122
+ if (r(l) <= s) D = l;
3123
+ else break;
3124
+ if (D === a) break;
3125
+ }
3126
+ return [D, a];
3127
+ }
3128
+ function Ue(e, t, u, r, D = [], n) {
3129
+ let { locStart: a, locEnd: i } = u, o = a(e), s = i(e);
3130
+ if (t > s || t < o || n === "rangeEnd" && t === o || n === "rangeStart" && t === s) return;
3131
+ let l = [e, ...D], f = iu(e, l, {
3132
+ cache: ou,
3133
+ locStart: a,
3134
+ locEnd: i,
3135
+ getVisitorKeys: u.getVisitorKeys,
3136
+ filter: u.printer.canAttachComment,
3137
+ getChildren: u.printer.getCommentChildNodes
3138
+ });
3139
+ for (let c of f) {
3140
+ let d = Ue(c, t, u, r, l, n);
3141
+ if (d) return d;
3142
+ }
3143
+ if (r(e, D[0])) return l;
3144
+ }
3145
+ function qD(e, t) {
3146
+ return t !== "DeclareExportDeclaration" && e !== "TypeParameterDeclaration" && (e === "Directive" || e === "TypeAlias" || e === "TSExportAssignment" || e.startsWith("Declare") || e.startsWith("TSDeclare") || e.endsWith("Statement") || e.endsWith("Declaration"));
3147
+ }
3148
+ var _u = /* @__PURE__ */ new Set([
3149
+ "JsonRoot",
3150
+ "ObjectExpression",
3151
+ "ArrayExpression",
3152
+ "StringLiteral",
3153
+ "NumericLiteral",
3154
+ "BooleanLiteral",
3155
+ "NullLiteral",
3156
+ "UnaryExpression",
3157
+ "TemplateLiteral"
3158
+ ]), HD = /* @__PURE__ */ new Set([
3159
+ "OperationDefinition",
3160
+ "FragmentDefinition",
3161
+ "VariableDefinition",
3162
+ "TypeExtensionDefinition",
3163
+ "ObjectTypeDefinition",
3164
+ "FieldDefinition",
3165
+ "DirectiveDefinition",
3166
+ "EnumTypeDefinition",
3167
+ "EnumValueDefinition",
3168
+ "InputValueDefinition",
3169
+ "InputObjectTypeDefinition",
3170
+ "SchemaDefinition",
3171
+ "OperationTypeDefinition",
3172
+ "InterfaceTypeDefinition",
3173
+ "UnionTypeDefinition",
3174
+ "ScalarTypeDefinition"
3175
+ ]);
3176
+ function Lt(e, t, u) {
3177
+ if (!t) return !1;
3178
+ switch (e.parser) {
3179
+ case "flow":
3180
+ case "hermes":
3181
+ case "babel":
3182
+ case "babel-flow":
3183
+ case "babel-ts":
3184
+ case "typescript":
3185
+ case "acorn":
3186
+ case "espree":
3187
+ case "meriyah":
3188
+ case "oxc":
3189
+ case "oxc-ts":
3190
+ case "__babel_estree":
3191
+ return qD(t.type, u?.type);
3192
+ case "json":
3193
+ case "json5":
3194
+ case "jsonc":
3195
+ case "json-stringify":
3196
+ return _u.has(t.type);
3197
+ case "graphql":
3198
+ return HD.has(t.kind);
3199
+ case "vue":
3200
+ return t.tag !== "root";
3201
+ }
3202
+ return !1;
3203
+ }
3204
+ function GD(e, t, u) {
3205
+ let { rangeStart: r, rangeEnd: D, locStart: n, locEnd: a } = t;
3206
+ ee(D > r);
3207
+ let i = e.slice(r, D).search(/\S/u), o = i === -1;
3208
+ if (!o) for (r += i; D > r && !/\S/u.test(e[D - 1]); --D) ;
3209
+ let s = Ue(u, r, t, (d, F) => Lt(t, d, F), [], "rangeStart");
3210
+ if (!s) return;
3211
+ let l = o ? s : Ue(u, D, t, (d) => Lt(t, d), [], "rangeEnd");
3212
+ if (!l) return;
3213
+ let f, c;
3214
+ if (zD(t)) {
3215
+ let d = XD(s, l);
3216
+ f = d, c = d;
3217
+ } else [f, c] = UD(s, l, t);
3218
+ return [Math.min(n(f), n(c)), Math.max(a(f), a(c))];
3219
+ }
3220
+ var Ou = "\uFEFF", $t = /* @__PURE__ */ Symbol("cursor");
3221
+ async function Tu(e, t, u = 0) {
3222
+ if (!e || e.trim().length === 0) return {
3223
+ formatted: "",
3224
+ cursorOffset: -1,
3225
+ comments: []
3226
+ };
3227
+ let { ast: r, text: D } = await be(e, t);
3228
+ t.cursorOffset >= 0 && (t = {
3229
+ ...t,
3230
+ ...Nu(r, t)
3231
+ });
3232
+ let n = await je(r, t, u);
3233
+ u > 0 && (n = Ht([z, n], u, t.tabWidth));
3234
+ let a = Te(n, t);
3235
+ if (u > 0) {
3236
+ let o = a.formatted.trim();
3237
+ a.cursorNodeStart !== void 0 && (a.cursorNodeStart -= a.formatted.indexOf(o), a.cursorNodeStart < 0 && (a.cursorNodeStart = 0, a.cursorNodeText = a.cursorNodeText.trimStart()), a.cursorNodeStart + a.cursorNodeText.length > o.length && (a.cursorNodeText = a.cursorNodeText.trimEnd())), a.formatted = o + Ye(t.endOfLine);
3238
+ }
3239
+ let i = t[/* @__PURE__ */ Symbol.for("comments")];
3240
+ if (t.cursorOffset >= 0) {
3241
+ let o, s, l, f;
3242
+ if ((t.cursorNode || t.nodeBeforeCursor || t.nodeAfterCursor) && a.cursorNodeText) if (l = a.cursorNodeStart, f = a.cursorNodeText, t.cursorNode) o = t.locStart(t.cursorNode), s = D.slice(o, t.locEnd(t.cursorNode));
3243
+ else {
3244
+ if (!t.nodeBeforeCursor && !t.nodeAfterCursor) throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");
3245
+ o = t.nodeBeforeCursor ? t.locEnd(t.nodeBeforeCursor) : 0;
3246
+ let g = t.nodeAfterCursor ? t.locStart(t.nodeAfterCursor) : D.length;
3247
+ s = D.slice(o, g);
3248
+ }
3249
+ else o = 0, s = D, l = 0, f = a.formatted;
3250
+ let c = t.cursorOffset - o;
3251
+ if (s === f) return {
3252
+ formatted: a.formatted,
3253
+ cursorOffset: l + c,
3254
+ comments: i
3255
+ };
3256
+ let d = s.split("");
3257
+ d.splice(c, 0, $t);
3258
+ let F = rr(d, f.split("")), p = l;
3259
+ for (let g of F) if (g.removed) {
3260
+ if (g.value.includes($t)) break;
3261
+ } else p += g.count;
3262
+ return {
3263
+ formatted: a.formatted,
3264
+ cursorOffset: p,
3265
+ comments: i
3266
+ };
3267
+ }
3268
+ return {
3269
+ formatted: a.formatted,
3270
+ cursorOffset: -1,
3271
+ comments: i
3272
+ };
3273
+ }
3274
+ async function YD(e, t) {
3275
+ let { ast: u, text: r } = await be(e, t), [D, n] = GD(r, t, u) ?? [0, 0], a = r.slice(D, n), i = Math.min(D, r.lastIndexOf(`
3276
+ `, D) + 1), o = r.slice(i, D).match(/^\s*/u)[0], s = ut(o, t.tabWidth), l = await Tu(a, {
3277
+ ...t,
3278
+ rangeStart: 0,
3279
+ rangeEnd: Number.POSITIVE_INFINITY,
3280
+ cursorOffset: t.cursorOffset > D && t.cursorOffset <= n ? t.cursorOffset - D : -1,
3281
+ endOfLine: "lf"
3282
+ }, s), f = l.formatted.trimEnd(), { cursorOffset: c } = t;
3283
+ c > n ? c += f.length - a.length : l.cursorOffset >= 0 && (c = l.cursorOffset + D);
3284
+ let d = r.slice(0, D) + f + r.slice(n);
3285
+ if (t.endOfLine !== "lf") {
3286
+ let F = Ye(t.endOfLine);
3287
+ c >= 0 && F === `\r
3288
+ ` && (c += Kt(d.slice(0, c), `
3289
+ `)), d = Ie(0, d, `
3290
+ `, F);
3291
+ }
3292
+ return {
3293
+ formatted: d,
3294
+ cursorOffset: c,
3295
+ comments: l.comments
3296
+ };
3297
+ }
3298
+ function We(e, t, u) {
3299
+ return typeof t != "number" || Number.isNaN(t) || t < 0 || t > e.length ? u : t;
3300
+ }
3301
+ function Rt(e, t) {
3302
+ let { cursorOffset: u, rangeStart: r, rangeEnd: D } = t;
3303
+ return u = We(e, u, -1), r = We(e, r, 0), D = We(e, D, e.length), {
3304
+ ...t,
3305
+ cursorOffset: u,
3306
+ rangeStart: r,
3307
+ rangeEnd: D
3308
+ };
3309
+ }
3310
+ function Pu(e, t) {
3311
+ let { cursorOffset: u, rangeStart: r, rangeEnd: D, endOfLine: n } = Rt(e, t), a = e.charAt(0) === Ou;
3312
+ if (a && (e = e.slice(1), u--, r--, D--), n === "auto" && (n = ir(e)), e.includes("\r")) {
3313
+ let i = (o) => Kt(e.slice(0, Math.max(o, 0)), `\r
3314
+ `);
3315
+ u -= i(u), r -= i(r), D -= i(D), e = lr(e);
3316
+ }
3317
+ return {
3318
+ hasBOM: a,
3319
+ text: e,
3320
+ options: Rt(e, {
3321
+ ...t,
3322
+ cursorOffset: u,
3323
+ rangeStart: r,
3324
+ rangeEnd: D,
3325
+ endOfLine: n
3326
+ })
3327
+ };
3328
+ }
3329
+ async function Mt(e, t) {
3330
+ let u = await ot(t);
3331
+ return !u.hasPragma || u.hasPragma(e);
3332
+ }
3333
+ async function QD(e, t) {
3334
+ return (await ot(t)).hasIgnorePragma?.(e);
3335
+ }
3336
+ async function ju(e, t) {
3337
+ let { hasBOM: u, text: r, options: D } = Pu(e, await Ce(t));
3338
+ if (D.rangeStart >= D.rangeEnd && r !== "" || D.requirePragma && !await Mt(r, D) || D.checkIgnorePragma && await QD(r, D)) return {
3339
+ formatted: e,
3340
+ cursorOffset: t.cursorOffset,
3341
+ comments: []
3342
+ };
3343
+ let n;
3344
+ return D.rangeStart > 0 || D.rangeEnd < r.length ? n = await YD(r, D) : (!D.requirePragma && D.insertPragma && D.printer.insertPragma && !await Mt(r, D) && (r = D.printer.insertPragma(r)), n = await Tu(r, D)), u && (n.formatted = Ou + n.formatted, n.cursorOffset >= 0 && n.cursorOffset++), n;
3345
+ }
3346
+ async function ZD(e, t, u) {
3347
+ let { text: r, options: D } = Pu(e, await Ce(t)), n = await be(r, D);
3348
+ return u && (u.preprocessForPrint && (n.ast = await Iu(n.ast, D)), u.massage && (n.ast = VD(n.ast, D))), n;
3349
+ }
3350
+ async function ea(e, t) {
3351
+ return t = await Ce(t), Te(await je(e, t), t);
3352
+ }
3353
+ async function ta(e, t) {
3354
+ let { formatted: u } = await ju(Mr(e), {
3355
+ ...t,
3356
+ parser: "__js_expression"
3357
+ });
3358
+ return u;
3359
+ }
3360
+ async function ua(e, t) {
3361
+ t = await Ce(t);
3362
+ let { ast: u } = await be(e, t);
3363
+ return t.cursorOffset >= 0 && (t = {
3364
+ ...t,
3365
+ ...Nu(u, t)
3366
+ }), je(u, t);
3367
+ }
3368
+ async function ra(e, t) {
3369
+ return Te(e, await Ce(t));
3370
+ }
3371
+ var Lu = {};
3372
+ He(Lu, {
3373
+ builders: () => na,
3374
+ printer: () => Da,
3375
+ utils: () => aa
3376
+ });
3377
+ var na = {
3378
+ join: Yt,
3379
+ line: Qt,
3380
+ softline: Lr,
3381
+ hardline: z,
3382
+ literalline: eu,
3383
+ group: Gt,
3384
+ conditionalGroup: Or,
3385
+ fill: _r,
3386
+ lineSuffix: Ke,
3387
+ lineSuffixBoundary: $r,
3388
+ cursor: ie,
3389
+ breakParent: Oe,
3390
+ ifBreak: Tr,
3391
+ trim: Rr,
3392
+ indent: Se,
3393
+ indentIfBreak: Pr,
3394
+ align: he,
3395
+ addAlignmentToDoc: Ht,
3396
+ markAsRoot: qt,
3397
+ dedentToRoot: Ir,
3398
+ dedent: Nr,
3399
+ hardlineWithoutBreakParent: et,
3400
+ literallineWithoutBreakParent: Zt,
3401
+ label: jr,
3402
+ concat: (e) => e
3403
+ }, Da = { printDocToString: Te }, aa = {
3404
+ willBreak: Er,
3405
+ traverseDoc: Qe,
3406
+ findInDoc: Ze,
3407
+ mapDoc: _e,
3408
+ removeLines: vr,
3409
+ stripTrailingHardline: Xt,
3410
+ replaceEndOfLine: Ar,
3411
+ canBreak: kr
3412
+ }, ia = "3.8.3", $u = {};
3413
+ He($u, {
3414
+ addDanglingComment: () => De,
3415
+ addLeadingComment: () => me,
3416
+ addTrailingComment: () => ye,
3417
+ getAlignmentSize: () => ut,
3418
+ getIndentSize: () => da,
3419
+ getMaxContinuousCount: () => ha,
3420
+ getNextNonSpaceNonCommentCharacter: () => ga,
3421
+ getNextNonSpaceNonCommentCharacterIndex: () => xa,
3422
+ getPreferredQuote: () => va,
3423
+ getStringWidth: () => tt,
3424
+ hasNewline: () => Z,
3425
+ hasNewlineInRange: () => ba,
3426
+ hasSpaces: () => wa,
3427
+ isNextLineEmpty: () => Oa,
3428
+ isNextLineEmptyAfterIndex: () => Ft,
3429
+ isPreviousLineEmpty: () => Ia,
3430
+ makeString: () => _a,
3431
+ skip: () => Be,
3432
+ skipEverythingButNewLine: () => Du,
3433
+ skipInlineComment: () => ct,
3434
+ skipNewline: () => oe,
3435
+ skipSpaces: () => te,
3436
+ skipToLineEnd: () => nu,
3437
+ skipTrailingComment: () => ft,
3438
+ skipWhitespace: () => rn
3439
+ });
3440
+ function oa(e, t) {
3441
+ if (t === !1) return !1;
3442
+ if (e.charAt(t) === "/" && e.charAt(t + 1) === "*") {
3443
+ for (let u = t + 2; u < e.length; ++u) if (e.charAt(u) === "*" && e.charAt(u + 1) === "/") return u + 2;
3444
+ }
3445
+ return t;
3446
+ }
3447
+ var ct = oa;
3448
+ function sa(e, t) {
3449
+ return t === !1 ? !1 : e.charAt(t) === "/" && e.charAt(t + 1) === "/" ? Du(e, t) : t;
3450
+ }
3451
+ var ft = sa;
3452
+ function la(e, t) {
3453
+ let u = null, r = t;
3454
+ for (; r !== u; ) u = r, r = te(e, r), r = ct(e, r), r = ft(e, r), r = oe(e, r);
3455
+ return r;
3456
+ }
3457
+ var dt = la;
3458
+ function ca(e, t) {
3459
+ let u = null, r = t;
3460
+ for (; r !== u; ) u = r, r = nu(e, r), r = ct(e, r), r = te(e, r);
3461
+ return r = ft(e, r), r = oe(e, r), r !== !1 && Z(e, r);
3462
+ }
3463
+ var Ft = ca;
3464
+ function fa(e, t) {
3465
+ let u = e.lastIndexOf(`
3466
+ `);
3467
+ return u === -1 ? 0 : ut(e.slice(u + 1).match(/^[\t ]*/u)[0], t);
3468
+ }
3469
+ var da = fa;
3470
+ function Fa(e) {
3471
+ if (typeof e != "string") throw new TypeError("Expected a string");
3472
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
3473
+ }
3474
+ function pa(e, t) {
3475
+ let u = e.matchAll(new RegExp(`(?:${Fa(t)})+`, "gu"));
3476
+ return u.reduce || (u = [...u]), u.reduce((r, [D]) => Math.max(r, D.length), 0) / t.length;
3477
+ }
3478
+ var ha = pa;
3479
+ function Ca(e, t) {
3480
+ let u = dt(e, t);
3481
+ return u === !1 ? "" : e.charAt(u);
3482
+ }
3483
+ var ga = Ca, Ru = Object.freeze({
3484
+ character: "'",
3485
+ codePoint: 39
3486
+ }), Mu = Object.freeze({
3487
+ character: '"',
3488
+ codePoint: 34
3489
+ }), Ea = Object.freeze({
3490
+ preferred: Ru,
3491
+ alternate: Mu
3492
+ }), ma = Object.freeze({
3493
+ preferred: Mu,
3494
+ alternate: Ru
3495
+ });
3496
+ function ya(e, t) {
3497
+ let { preferred: u, alternate: r } = t === !0 || t === "'" ? Ea : ma, { length: D } = e, n = 0, a = 0;
3498
+ for (let i = 0; i < D; i++) {
3499
+ let o = e.charCodeAt(i);
3500
+ o === u.codePoint ? n++ : o === r.codePoint && a++;
3501
+ }
3502
+ return (n > a ? r : u).character;
3503
+ }
3504
+ var va = ya;
3505
+ function Ba(e, t, u) {
3506
+ for (let r = t; r < u; ++r) if (e.charAt(r) === `
3507
+ `) return !0;
3508
+ return !1;
3509
+ }
3510
+ var ba = Ba;
3511
+ function Aa(e, t, u = {}) {
3512
+ return te(e, u.backwards ? t - 1 : t, u) !== t;
3513
+ }
3514
+ var wa = Aa;
3515
+ function ka(e, t, u) {
3516
+ return dt(e, u(t));
3517
+ }
3518
+ function xa(e, t) {
3519
+ return arguments.length === 2 || typeof t == "number" ? dt(e, t) : ka(...arguments);
3520
+ }
3521
+ function Sa(e, t, u) {
3522
+ return Dt(e, u(t));
3523
+ }
3524
+ function Ia(e, t) {
3525
+ return arguments.length === 2 || typeof t == "number" ? Dt(e, t) : Sa(...arguments);
3526
+ }
3527
+ function Na(e, t, u) {
3528
+ return Ft(e, u(t));
3529
+ }
3530
+ function _a(e, t, u) {
3531
+ let r = t === '"' ? "'" : '"';
3532
+ return t + Ie(0, e, /\\(.)|(["'])/gsu, (D, n, a) => n === r ? n : a === t ? "\\" + a : a || (u && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(n) ? n : "\\" + n)) + t;
3533
+ }
3534
+ function Oa(e, t) {
3535
+ return arguments.length === 2 || typeof t == "number" ? Ft(e, t) : Na(...arguments);
3536
+ }
3537
+ function ae(e, t = 1) {
3538
+ return async (...u) => {
3539
+ let r = u[t] ?? {}, D = r.plugins ?? [];
3540
+ return u[t] = {
3541
+ ...r,
3542
+ plugins: Array.isArray(D) ? D : Object.values(D)
3543
+ }, e(...u);
3544
+ };
3545
+ }
3546
+ var Ju = ae(ju);
3547
+ async function Vu(e, t) {
3548
+ let { formatted: u } = await Ju(e, {
3549
+ ...t,
3550
+ cursorOffset: -1
3551
+ });
3552
+ return u;
3553
+ }
3554
+ async function Ta(e, t) {
3555
+ return await Vu(e, t) === e;
3556
+ }
3557
+ var Pa = ae(du, 0), ja = {
3558
+ parse: ae(ZD),
3559
+ formatAST: ae(ea),
3560
+ formatDoc: ae(ta),
3561
+ printToDoc: ae(ua),
3562
+ printDocToString: ae(ra)
3563
+ };
3564
+ export {
3565
+ ja as __debug,
3566
+ Ta as check,
3567
+ Qu as default,
3568
+ Lu as doc,
3569
+ Vu as format,
3570
+ Ju as formatWithCursor,
3571
+ Pa as getSupportInfo,
3572
+ $u as util,
3573
+ ia as version
3574
+ };