@maildeno/editor 0.4.2 → 0.4.3

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,3639 @@
1
+ //#region ../../node_modules/prettier/standalone.mjs
2
+ var Ru = Object.defineProperty;
3
+ var yt = (t, e) => {
4
+ for (var r in e) Ru(t, r, {
5
+ get: e[r],
6
+ enumerable: !0
7
+ });
8
+ };
9
+ var Su = {};
10
+ yt(Su, {
11
+ __debug: () => $i,
12
+ check: () => Vi,
13
+ doc: () => ar,
14
+ format: () => Pu,
15
+ formatWithCursor: () => Ou,
16
+ getSupportInfo: () => Wi,
17
+ util: () => fr,
18
+ version: () => gu
19
+ });
20
+ var X = (t, e) => (r, n, ...u) => r | 1 && n == null ? void 0 : (e.call(n) ?? n[t]).apply(n, u);
21
+ var vu = String.prototype.replaceAll ?? function(t, e) {
22
+ return t.global ? this.replace(t, e) : this.split(t).join(e);
23
+ };
24
+ var ne = X("replaceAll", function() {
25
+ if (typeof this == "string") return vu;
26
+ });
27
+ var Ne = class {
28
+ diff(e, r, n = {}) {
29
+ let u;
30
+ typeof n == "function" ? (u = n, n = {}) : "callback" in n && (u = n.callback);
31
+ let o = this.castInput(e, n), i = this.castInput(r, n), D = this.removeEmpty(this.tokenize(o, n)), s = this.removeEmpty(this.tokenize(i, n));
32
+ return this.diffWithOptionsObj(D, s, n, u);
33
+ }
34
+ diffWithOptionsObj(e, r, n, u) {
35
+ var o;
36
+ let i = (C) => {
37
+ if (C = this.postProcess(C, n), u) {
38
+ setTimeout(function() {
39
+ u(C);
40
+ }, 0);
41
+ return;
42
+ } else return C;
43
+ }, D = r.length, s = e.length, a = 1, c = D + s;
44
+ n.maxEditLength != null && (c = Math.min(c, n.maxEditLength));
45
+ let p = (o = n.timeout) !== null && o !== void 0 ? o : 1 / 0, l = Date.now() + p, m = [{
46
+ oldPos: -1,
47
+ lastComponent: void 0
48
+ }], f = this.extractCommon(m[0], r, e, 0, n);
49
+ if (m[0].oldPos + 1 >= s && f + 1 >= D) return i(this.buildValues(m[0].lastComponent, r, e));
50
+ let F = -1 / 0, d = 1 / 0, E = () => {
51
+ for (let C = Math.max(F, -a); C <= Math.min(d, a); C += 2) {
52
+ let h, _ = m[C - 1], P = m[C + 1];
53
+ _ && (m[C - 1] = void 0);
54
+ let A = !1;
55
+ if (P) {
56
+ let J = P.oldPos - C;
57
+ A = P && 0 <= J && J < D;
58
+ }
59
+ let B = _ && _.oldPos + 1 < s;
60
+ if (!A && !B) {
61
+ m[C] = void 0;
62
+ continue;
63
+ }
64
+ if (!B || A && _.oldPos < P.oldPos ? h = this.addToPath(P, !0, !1, 0, n) : h = this.addToPath(_, !1, !0, 1, n), f = this.extractCommon(h, r, e, C, n), h.oldPos + 1 >= s && f + 1 >= D) return i(this.buildValues(h.lastComponent, r, e)) || !0;
65
+ m[C] = h, h.oldPos + 1 >= s && (d = Math.min(d, C - 1)), f + 1 >= D && (F = Math.max(F, C + 1));
66
+ }
67
+ a++;
68
+ };
69
+ if (u) (function C() {
70
+ setTimeout(function() {
71
+ if (a > c || Date.now() > l) return u(void 0);
72
+ E() || C();
73
+ }, 0);
74
+ })();
75
+ else for (; a <= c && Date.now() <= l;) {
76
+ let C = E();
77
+ if (C) return C;
78
+ }
79
+ }
80
+ addToPath(e, r, n, u, o) {
81
+ let i = e.lastComponent;
82
+ return i && !o.oneChangePerToken && i.added === r && i.removed === n ? {
83
+ oldPos: e.oldPos + u,
84
+ lastComponent: {
85
+ count: i.count + 1,
86
+ added: r,
87
+ removed: n,
88
+ previousComponent: i.previousComponent
89
+ }
90
+ } : {
91
+ oldPos: e.oldPos + u,
92
+ lastComponent: {
93
+ count: 1,
94
+ added: r,
95
+ removed: n,
96
+ previousComponent: i
97
+ }
98
+ };
99
+ }
100
+ extractCommon(e, r, n, u, o) {
101
+ let i = r.length, D = n.length, s = e.oldPos, a = s - u, c = 0;
102
+ for (; a + 1 < i && s + 1 < D && this.equals(n[s + 1], r[a + 1], o);) a++, s++, c++, o.oneChangePerToken && (e.lastComponent = {
103
+ count: 1,
104
+ previousComponent: e.lastComponent,
105
+ added: !1,
106
+ removed: !1
107
+ });
108
+ return c && !o.oneChangePerToken && (e.lastComponent = {
109
+ count: c,
110
+ previousComponent: e.lastComponent,
111
+ added: !1,
112
+ removed: !1
113
+ }), e.oldPos = s, a;
114
+ }
115
+ equals(e, r, n) {
116
+ return n.comparator ? n.comparator(e, r) : e === r || !!n.ignoreCase && e.toLowerCase() === r.toLowerCase();
117
+ }
118
+ removeEmpty(e) {
119
+ let r = [];
120
+ for (let n = 0; n < e.length; n++) e[n] && r.push(e[n]);
121
+ return r;
122
+ }
123
+ castInput(e, r) {
124
+ return e;
125
+ }
126
+ tokenize(e, r) {
127
+ return Array.from(e);
128
+ }
129
+ join(e) {
130
+ return e.join("");
131
+ }
132
+ postProcess(e, r) {
133
+ return e;
134
+ }
135
+ get useLongestToken() {
136
+ return !1;
137
+ }
138
+ buildValues(e, r, n) {
139
+ let u = [], o;
140
+ for (; e;) u.push(e), o = e.previousComponent, delete e.previousComponent, e = o;
141
+ u.reverse();
142
+ let i = u.length, D = 0, s = 0, a = 0;
143
+ for (; D < i; D++) {
144
+ let c = u[D];
145
+ if (c.removed) c.value = this.join(n.slice(a, a + c.count)), a += c.count;
146
+ else {
147
+ if (!c.added && this.useLongestToken) {
148
+ let p = r.slice(s, s + c.count);
149
+ p = p.map(function(l, m) {
150
+ let f = n[a + m];
151
+ return f.length > l.length ? f : l;
152
+ }), c.value = this.join(p);
153
+ } else c.value = this.join(r.slice(s, s + c.count));
154
+ s += c.count, c.added || (a += c.count);
155
+ }
156
+ }
157
+ return u;
158
+ }
159
+ };
160
+ var At = class extends Ne {
161
+ tokenize(e) {
162
+ return e.slice();
163
+ }
164
+ join(e) {
165
+ return e;
166
+ }
167
+ removeEmpty(e) {
168
+ return e;
169
+ }
170
+ };
171
+ var pr = new At();
172
+ function xt(t, e, r) {
173
+ return pr.diff(t, e, r);
174
+ }
175
+ var Mu = () => {};
176
+ var k = Mu;
177
+ var dr = "cr";
178
+ var Fr = "crlf";
179
+ var ju = "lf";
180
+ var Bt = "\r";
181
+ var Er = `\r
182
+ `;
183
+ var ze = `
184
+ `;
185
+ var Uu = ze;
186
+ function Cr(t) {
187
+ let e = t.indexOf(Bt);
188
+ return e !== -1 ? t.charAt(e + 1) === ze ? Fr : dr : ju;
189
+ }
190
+ function we(t) {
191
+ return t === dr ? Bt : t === Fr ? Er : Uu;
192
+ }
193
+ var Vu = /* @__PURE__ */ new Map([
194
+ [ze, /\n/g],
195
+ [Bt, /\r/g],
196
+ [Er, /\r\n/g]
197
+ ]);
198
+ function Tt(t, e) {
199
+ let r = Vu.get(e);
200
+ return t.match(r)?.length ?? 0;
201
+ }
202
+ var Wu = /\r\n?/g;
203
+ function hr(t) {
204
+ return ne(0, t, Wu, ze);
205
+ }
206
+ var ue = Symbol.for("comments");
207
+ function $u(t) {
208
+ return this[t < 0 ? this.length + t : t];
209
+ }
210
+ var y = X("at", function() {
211
+ if (Array.isArray(this) || typeof this == "string") return $u;
212
+ });
213
+ var G = "string";
214
+ var U = "array";
215
+ var V = "cursor";
216
+ var I = "indent";
217
+ var R = "align";
218
+ var v = "trim";
219
+ var x = "group";
220
+ var S = "fill";
221
+ var T = "if-break";
222
+ var L = "indent-if-break";
223
+ var M = "line-suffix";
224
+ var Y = "line-suffix-boundary";
225
+ var g = "line";
226
+ var b = "label";
227
+ var N = "break-parent";
228
+ var Ge = /* @__PURE__ */ new Set([
229
+ V,
230
+ I,
231
+ R,
232
+ v,
233
+ x,
234
+ S,
235
+ T,
236
+ L,
237
+ M,
238
+ Y,
239
+ g,
240
+ b,
241
+ N
242
+ ]);
243
+ function gr(t) {
244
+ let e = t.length;
245
+ for (; e > 0 && (t[e - 1] === "\r" || t[e - 1] === `
246
+ `);) e--;
247
+ return e < t.length ? t.slice(0, e) : t;
248
+ }
249
+ function Fe(t, e, r) {
250
+ if (!t.has(e)) {
251
+ let n = r(e);
252
+ t.set(e, n);
253
+ }
254
+ return t.get(e);
255
+ }
256
+ function Gu(t) {
257
+ if (typeof t == "string") return G;
258
+ if (Array.isArray(t)) return U;
259
+ if (!t) return;
260
+ let { type: e } = t;
261
+ if (Ge.has(e)) return e;
262
+ }
263
+ var q = Gu;
264
+ var Ku = (t) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(t);
265
+ function Hu(t) {
266
+ let e = t === null ? "null" : typeof t;
267
+ if (e !== "string" && e !== "object") return `Unexpected doc '${e}',
268
+ Expected it to be 'string' or 'object'.`;
269
+ if (q(t)) throw new Error("doc is valid.");
270
+ let r = Object.prototype.toString.call(t);
271
+ if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
272
+ let n = Ku([...Ge].map((u) => `'${u}'`));
273
+ return `Unexpected doc.type '${t.type}'.
274
+ Expected it to be ${n}.`;
275
+ }
276
+ var Nt = class extends Error {
277
+ name = "InvalidDocError";
278
+ constructor(e) {
279
+ super(Hu(e)), this.doc = e;
280
+ }
281
+ };
282
+ var Z = Nt;
283
+ var _r = {};
284
+ function Ju(t, e, r, n) {
285
+ let u = [t];
286
+ for (; u.length > 0;) {
287
+ let o = u.pop();
288
+ if (o === _r) {
289
+ r(u.pop());
290
+ continue;
291
+ }
292
+ r && u.push(o, _r);
293
+ let i = q(o);
294
+ if (!i) throw new Z(o);
295
+ if (e?.(o) !== !1) switch (i) {
296
+ case U:
297
+ case S: {
298
+ let D = i === U ? o : o.parts;
299
+ for (let a = D.length - 1; a >= 0; --a) u.push(D[a]);
300
+ break;
301
+ }
302
+ case T:
303
+ u.push(o.flatContents, o.breakContents);
304
+ break;
305
+ case x:
306
+ if (n && o.expandedStates) for (let D = o.expandedStates.length, s = D - 1; s >= 0; --s) u.push(o.expandedStates[s]);
307
+ else u.push(o.contents);
308
+ break;
309
+ case R:
310
+ case I:
311
+ case L:
312
+ case b:
313
+ case M:
314
+ u.push(o.contents);
315
+ break;
316
+ case G:
317
+ case V:
318
+ case v:
319
+ case Y:
320
+ case g:
321
+ case N: break;
322
+ default: throw new Z(o);
323
+ }
324
+ }
325
+ }
326
+ var Oe = Ju;
327
+ function Se(t, e) {
328
+ if (typeof t == "string") return e(t);
329
+ let r = /* @__PURE__ */ new Map();
330
+ return n(t);
331
+ function n(o) {
332
+ return Fe(r, o, u);
333
+ }
334
+ function u(o) {
335
+ switch (q(o)) {
336
+ case U: return e(o.map(n));
337
+ case S: return e({
338
+ ...o,
339
+ parts: o.parts.map(n)
340
+ });
341
+ case T: return e({
342
+ ...o,
343
+ breakContents: n(o.breakContents),
344
+ flatContents: n(o.flatContents)
345
+ });
346
+ case x: {
347
+ let { expandedStates: i, contents: D } = o;
348
+ return i ? (i = i.map(n), D = i[0]) : D = n(D), e({
349
+ ...o,
350
+ contents: D,
351
+ expandedStates: i
352
+ });
353
+ }
354
+ case R:
355
+ case I:
356
+ case L:
357
+ case b:
358
+ case M: return e({
359
+ ...o,
360
+ contents: n(o.contents)
361
+ });
362
+ case G:
363
+ case V:
364
+ case v:
365
+ case Y:
366
+ case g:
367
+ case N: return e(o);
368
+ default: throw new Z(o);
369
+ }
370
+ }
371
+ }
372
+ function Ke(t, e, r) {
373
+ let n = r, u = !1;
374
+ function o(i) {
375
+ if (u) return !1;
376
+ let D = e(i);
377
+ D !== void 0 && (u = !0, n = D);
378
+ }
379
+ return Oe(t, o), n;
380
+ }
381
+ function qu(t) {
382
+ if (t.type === x && t.break || t.type === g && t.hard || t.type === N) return !0;
383
+ }
384
+ function xr(t) {
385
+ return Ke(t, qu, !1);
386
+ }
387
+ function yr(t) {
388
+ if (t.length > 0) {
389
+ let e = y(0, t, -1);
390
+ !e.expandedStates && !e.break && (e.break = "propagated");
391
+ }
392
+ return null;
393
+ }
394
+ function Br(t) {
395
+ let e = /* @__PURE__ */ new Set(), r = [];
396
+ function n(o) {
397
+ if (o.type === N && yr(r), o.type === x) {
398
+ if (r.push(o), e.has(o)) return !1;
399
+ e.add(o);
400
+ }
401
+ }
402
+ function u(o) {
403
+ o.type === x && r.pop().break && yr(r);
404
+ }
405
+ Oe(t, n, u, !0);
406
+ }
407
+ function Xu(t) {
408
+ return t.type === g && !t.hard ? t.soft ? "" : " " : t.type === T ? t.flatContents : t;
409
+ }
410
+ function Tr(t) {
411
+ return Se(t, Xu);
412
+ }
413
+ function Ar(t) {
414
+ for (t = [...t]; t.length >= 2 && y(0, t, -2).type === g && y(0, t, -1).type === N;) t.length -= 2;
415
+ if (t.length > 0) {
416
+ let e = Pe(y(0, t, -1));
417
+ t[t.length - 1] = e;
418
+ }
419
+ return t;
420
+ }
421
+ function Pe(t) {
422
+ switch (q(t)) {
423
+ case I:
424
+ case L:
425
+ case x:
426
+ case M:
427
+ case b: {
428
+ let e = Pe(t.contents);
429
+ return {
430
+ ...t,
431
+ contents: e
432
+ };
433
+ }
434
+ case T: return {
435
+ ...t,
436
+ breakContents: Pe(t.breakContents),
437
+ flatContents: Pe(t.flatContents)
438
+ };
439
+ case S: return {
440
+ ...t,
441
+ parts: Ar(t.parts)
442
+ };
443
+ case U: return Ar(t);
444
+ case G: return gr(t);
445
+ case R:
446
+ case V:
447
+ case v:
448
+ case Y:
449
+ case g:
450
+ case N: break;
451
+ default: throw new Z(t);
452
+ }
453
+ return t;
454
+ }
455
+ function He(t) {
456
+ return Pe(Zu(t));
457
+ }
458
+ function Qu(t) {
459
+ switch (q(t)) {
460
+ case S: {
461
+ let { parts: e } = t;
462
+ if (e.every((r) => r === "")) return "";
463
+ if (e.length === 1) return e[0];
464
+ break;
465
+ }
466
+ case x:
467
+ if (!t.contents && !t.id && !t.break && !t.expandedStates) return "";
468
+ if (t.contents.type === x && t.contents.id === t.id && t.contents.break === t.break && t.contents.expandedStates === t.expandedStates) return t.contents;
469
+ break;
470
+ case R:
471
+ case I:
472
+ case L:
473
+ case M:
474
+ if (!t.contents) return "";
475
+ break;
476
+ case T:
477
+ if (!t.flatContents && !t.breakContents) return "";
478
+ break;
479
+ case U: {
480
+ let e = [];
481
+ for (let r of t) {
482
+ if (!r) continue;
483
+ let [n, ...u] = Array.isArray(r) ? r : [r];
484
+ typeof n == "string" && typeof y(0, e, -1) == "string" ? e[e.length - 1] += n : e.push(n), e.push(...u);
485
+ }
486
+ return e.length === 0 ? "" : e.length === 1 ? e[0] : e;
487
+ }
488
+ case G:
489
+ case V:
490
+ case v:
491
+ case Y:
492
+ case g:
493
+ case b:
494
+ case N: break;
495
+ default: throw new Z(t);
496
+ }
497
+ return t;
498
+ }
499
+ function Zu(t) {
500
+ return Se(t, (e) => Qu(e));
501
+ }
502
+ function Nr(t, e = Je) {
503
+ return Se(t, (r) => typeof r == "string" ? be(e, r.split(`
504
+ `)) : r);
505
+ }
506
+ function eo(t) {
507
+ if (t.type === g) return !0;
508
+ }
509
+ function wr(t) {
510
+ return Ke(t, eo, !1);
511
+ }
512
+ function Ee(t, e) {
513
+ return t.type === b ? {
514
+ ...t,
515
+ contents: e(t.contents)
516
+ } : e(t);
517
+ }
518
+ var w = k;
519
+ var qe = k;
520
+ var Or = k;
521
+ var Pr = k;
522
+ function oe(t) {
523
+ return w(t), {
524
+ type: I,
525
+ contents: t
526
+ };
527
+ }
528
+ function De(t, e) {
529
+ return Pr(t), w(e), {
530
+ type: R,
531
+ contents: e,
532
+ n: t
533
+ };
534
+ }
535
+ function Sr(t) {
536
+ return De(Number.NEGATIVE_INFINITY, t);
537
+ }
538
+ function Xe(t) {
539
+ return De({ type: "root" }, t);
540
+ }
541
+ function br(t) {
542
+ return De(-1, t);
543
+ }
544
+ function Qe(t, e, r) {
545
+ w(t);
546
+ let n = t;
547
+ if (e > 0) {
548
+ for (let u = 0; u < Math.floor(e / r); ++u) n = oe(n);
549
+ n = De(e % r, n), n = De(Number.NEGATIVE_INFINITY, n);
550
+ }
551
+ return n;
552
+ }
553
+ var ae = { type: N };
554
+ var ee = { type: V };
555
+ function kr(t) {
556
+ return Or(t), {
557
+ type: S,
558
+ parts: t
559
+ };
560
+ }
561
+ function wt(t, e = {}) {
562
+ return w(t), qe(e.expandedStates, !0), {
563
+ type: x,
564
+ id: e.id,
565
+ contents: t,
566
+ break: !!e.shouldBreak,
567
+ expandedStates: e.expandedStates
568
+ };
569
+ }
570
+ function Ir(t, e) {
571
+ return wt(t[0], {
572
+ ...e,
573
+ expandedStates: t
574
+ });
575
+ }
576
+ function Rr(t, e = "", r = {}) {
577
+ return w(t), e !== "" && w(e), {
578
+ type: T,
579
+ breakContents: t,
580
+ flatContents: e,
581
+ groupId: r.groupId
582
+ };
583
+ }
584
+ function vr(t, e) {
585
+ return w(t), {
586
+ type: L,
587
+ contents: t,
588
+ groupId: e.groupId,
589
+ negate: e.negate
590
+ };
591
+ }
592
+ function be(t, e) {
593
+ w(t), qe(e);
594
+ let r = [];
595
+ for (let n = 0; n < e.length; n++) n !== 0 && r.push(t), r.push(e[n]);
596
+ return r;
597
+ }
598
+ function Lr(t, e) {
599
+ return w(e), t ? {
600
+ type: b,
601
+ label: t,
602
+ contents: e
603
+ } : e;
604
+ }
605
+ var Ze = { type: g };
606
+ var Mr = {
607
+ type: g,
608
+ soft: !0
609
+ };
610
+ var ke = {
611
+ type: g,
612
+ hard: !0
613
+ };
614
+ var W = [ke, ae];
615
+ var Ot = {
616
+ type: g,
617
+ hard: !0,
618
+ literal: !0
619
+ };
620
+ var Je = [Ot, ae];
621
+ function Ie(t) {
622
+ return w(t), {
623
+ type: M,
624
+ contents: t
625
+ };
626
+ }
627
+ var Yr = { type: Y };
628
+ var jr = { type: v };
629
+ function te(t) {
630
+ if (!t) return "";
631
+ if (Array.isArray(t)) {
632
+ let e = [];
633
+ for (let r of t) if (Array.isArray(r)) e.push(...te(r));
634
+ else {
635
+ let n = te(r);
636
+ n !== "" && e.push(n);
637
+ }
638
+ return e;
639
+ }
640
+ return t.type === T ? {
641
+ ...t,
642
+ breakContents: te(t.breakContents),
643
+ flatContents: te(t.flatContents)
644
+ } : t.type === x ? {
645
+ ...t,
646
+ contents: te(t.contents),
647
+ expandedStates: t.expandedStates?.map(te)
648
+ } : t.type === S ? {
649
+ type: "fill",
650
+ parts: t.parts.map(te)
651
+ } : t.contents ? {
652
+ ...t,
653
+ contents: te(t.contents)
654
+ } : t;
655
+ }
656
+ function Ur(t) {
657
+ let e = Object.create(null), r = /* @__PURE__ */ new Set();
658
+ return n(te(t));
659
+ function n(o, i, D) {
660
+ if (typeof o == "string") return JSON.stringify(o);
661
+ if (Array.isArray(o)) {
662
+ let s = o.map(n).filter(Boolean);
663
+ return s.length === 1 ? s[0] : `[${s.join(", ")}]`;
664
+ }
665
+ if (o.type === g) {
666
+ let s = D?.[i + 1]?.type === N;
667
+ return o.literal ? s ? "literalline" : "literallineWithoutBreakParent" : o.hard ? s ? "hardline" : "hardlineWithoutBreakParent" : o.soft ? "softline" : "line";
668
+ }
669
+ if (o.type === N) return D?.[i - 1]?.type === g && D[i - 1].hard ? void 0 : "breakParent";
670
+ if (o.type === v) return "trim";
671
+ if (o.type === I) return "indent(" + n(o.contents) + ")";
672
+ if (o.type === R) return o.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + n(o.contents) + ")" : o.n < 0 ? "dedent(" + n(o.contents) + ")" : o.n.type === "root" ? "markAsRoot(" + n(o.contents) + ")" : "align(" + JSON.stringify(o.n) + ", " + n(o.contents) + ")";
673
+ if (o.type === T) return "ifBreak(" + n(o.breakContents) + (o.flatContents ? ", " + n(o.flatContents) : "") + (o.groupId ? (o.flatContents ? "" : ", \"\"") + `, { groupId: ${u(o.groupId)} }` : "") + ")";
674
+ if (o.type === L) {
675
+ let s = [];
676
+ o.negate && s.push("negate: true"), o.groupId && s.push(`groupId: ${u(o.groupId)}`);
677
+ let a = s.length > 0 ? `, { ${s.join(", ")} }` : "";
678
+ return `indentIfBreak(${n(o.contents)}${a})`;
679
+ }
680
+ if (o.type === x) {
681
+ let s = [];
682
+ o.break && o.break !== "propagated" && s.push("shouldBreak: true"), o.id && s.push(`id: ${u(o.id)}`);
683
+ let a = s.length > 0 ? `, { ${s.join(", ")} }` : "";
684
+ return o.expandedStates ? `conditionalGroup([${o.expandedStates.map((c) => n(c)).join(",")}]${a})` : `group(${n(o.contents)}${a})`;
685
+ }
686
+ if (o.type === S) return `fill([${o.parts.map((s) => n(s)).join(", ")}])`;
687
+ if (o.type === M) return "lineSuffix(" + n(o.contents) + ")";
688
+ if (o.type === Y) return "lineSuffixBoundary";
689
+ if (o.type === b) return `label(${JSON.stringify(o.label)}, ${n(o.contents)})`;
690
+ if (o.type === V) return "cursor";
691
+ throw new Error("Unknown doc type " + o.type);
692
+ }
693
+ function u(o) {
694
+ if (typeof o != "symbol") return JSON.stringify(String(o));
695
+ if (o in e) return e[o];
696
+ let i = o.description || "symbol";
697
+ for (let D = 0;; D++) {
698
+ let s = i + (D > 0 ? ` #${D}` : "");
699
+ if (!r.has(s)) return r.add(s), e[o] = `Symbol.for(${JSON.stringify(s)})`;
700
+ }
701
+ }
702
+ }
703
+ var Vr = () => /[#*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;
704
+ var Wr = 12288;
705
+ var $r = 65510;
706
+ var zr = [
707
+ 12288,
708
+ 12288,
709
+ 65281,
710
+ 65376,
711
+ 65504,
712
+ 65510
713
+ ];
714
+ var Gr = 4352;
715
+ var Kr = 262141;
716
+ var Pt = [
717
+ 4352,
718
+ 4447,
719
+ 8986,
720
+ 8987,
721
+ 9001,
722
+ 9002,
723
+ 9193,
724
+ 9196,
725
+ 9200,
726
+ 9200,
727
+ 9203,
728
+ 9203,
729
+ 9725,
730
+ 9726,
731
+ 9748,
732
+ 9749,
733
+ 9776,
734
+ 9783,
735
+ 9800,
736
+ 9811,
737
+ 9855,
738
+ 9855,
739
+ 9866,
740
+ 9871,
741
+ 9875,
742
+ 9875,
743
+ 9889,
744
+ 9889,
745
+ 9898,
746
+ 9899,
747
+ 9917,
748
+ 9918,
749
+ 9924,
750
+ 9925,
751
+ 9934,
752
+ 9934,
753
+ 9940,
754
+ 9940,
755
+ 9962,
756
+ 9962,
757
+ 9970,
758
+ 9971,
759
+ 9973,
760
+ 9973,
761
+ 9978,
762
+ 9978,
763
+ 9981,
764
+ 9981,
765
+ 9989,
766
+ 9989,
767
+ 9994,
768
+ 9995,
769
+ 10024,
770
+ 10024,
771
+ 10060,
772
+ 10060,
773
+ 10062,
774
+ 10062,
775
+ 10067,
776
+ 10069,
777
+ 10071,
778
+ 10071,
779
+ 10133,
780
+ 10135,
781
+ 10160,
782
+ 10160,
783
+ 10175,
784
+ 10175,
785
+ 11035,
786
+ 11036,
787
+ 11088,
788
+ 11088,
789
+ 11093,
790
+ 11093,
791
+ 11904,
792
+ 11929,
793
+ 11931,
794
+ 12019,
795
+ 12032,
796
+ 12245,
797
+ 12272,
798
+ 12287,
799
+ 12289,
800
+ 12350,
801
+ 12353,
802
+ 12438,
803
+ 12441,
804
+ 12543,
805
+ 12549,
806
+ 12591,
807
+ 12593,
808
+ 12686,
809
+ 12688,
810
+ 12773,
811
+ 12783,
812
+ 12830,
813
+ 12832,
814
+ 12871,
815
+ 12880,
816
+ 42124,
817
+ 42128,
818
+ 42182,
819
+ 43360,
820
+ 43388,
821
+ 44032,
822
+ 55203,
823
+ 63744,
824
+ 64255,
825
+ 65040,
826
+ 65049,
827
+ 65072,
828
+ 65106,
829
+ 65108,
830
+ 65126,
831
+ 65128,
832
+ 65131,
833
+ 94176,
834
+ 94180,
835
+ 94192,
836
+ 94198,
837
+ 94208,
838
+ 101589,
839
+ 101631,
840
+ 101662,
841
+ 101760,
842
+ 101874,
843
+ 110576,
844
+ 110579,
845
+ 110581,
846
+ 110587,
847
+ 110589,
848
+ 110590,
849
+ 110592,
850
+ 110882,
851
+ 110898,
852
+ 110898,
853
+ 110928,
854
+ 110930,
855
+ 110933,
856
+ 110933,
857
+ 110948,
858
+ 110951,
859
+ 110960,
860
+ 111355,
861
+ 119552,
862
+ 119638,
863
+ 119648,
864
+ 119670,
865
+ 126980,
866
+ 126980,
867
+ 127183,
868
+ 127183,
869
+ 127374,
870
+ 127374,
871
+ 127377,
872
+ 127386,
873
+ 127488,
874
+ 127490,
875
+ 127504,
876
+ 127547,
877
+ 127552,
878
+ 127560,
879
+ 127568,
880
+ 127569,
881
+ 127584,
882
+ 127589,
883
+ 127744,
884
+ 127776,
885
+ 127789,
886
+ 127797,
887
+ 127799,
888
+ 127868,
889
+ 127870,
890
+ 127891,
891
+ 127904,
892
+ 127946,
893
+ 127951,
894
+ 127955,
895
+ 127968,
896
+ 127984,
897
+ 127988,
898
+ 127988,
899
+ 127992,
900
+ 128062,
901
+ 128064,
902
+ 128064,
903
+ 128066,
904
+ 128252,
905
+ 128255,
906
+ 128317,
907
+ 128331,
908
+ 128334,
909
+ 128336,
910
+ 128359,
911
+ 128378,
912
+ 128378,
913
+ 128405,
914
+ 128406,
915
+ 128420,
916
+ 128420,
917
+ 128507,
918
+ 128591,
919
+ 128640,
920
+ 128709,
921
+ 128716,
922
+ 128716,
923
+ 128720,
924
+ 128722,
925
+ 128725,
926
+ 128728,
927
+ 128732,
928
+ 128735,
929
+ 128747,
930
+ 128748,
931
+ 128756,
932
+ 128764,
933
+ 128992,
934
+ 129003,
935
+ 129008,
936
+ 129008,
937
+ 129292,
938
+ 129338,
939
+ 129340,
940
+ 129349,
941
+ 129351,
942
+ 129535,
943
+ 129648,
944
+ 129660,
945
+ 129664,
946
+ 129674,
947
+ 129678,
948
+ 129734,
949
+ 129736,
950
+ 129736,
951
+ 129741,
952
+ 129756,
953
+ 129759,
954
+ 129770,
955
+ 129775,
956
+ 129784,
957
+ 131072,
958
+ 196605,
959
+ 196608,
960
+ 262141
961
+ ];
962
+ var St = (t, e) => {
963
+ let r = 0, n = Math.floor(t.length / 2) - 1;
964
+ for (; r <= n;) {
965
+ let u = Math.floor((r + n) / 2), o = u * 2;
966
+ if (e < t[o]) n = u - 1;
967
+ else if (e > t[o + 1]) r = u + 1;
968
+ else return !0;
969
+ }
970
+ return !1;
971
+ };
972
+ var Hr = 19968, [to, ro] = no(Pt);
973
+ function no(t) {
974
+ let e = t[0], r = t[1];
975
+ for (let n = 0; n < t.length; n += 2) {
976
+ let u = t[n], o = t[n + 1];
977
+ if (Hr >= u && Hr <= o) return [u, o];
978
+ o - u > r - e && (e = u, r = o);
979
+ }
980
+ return [e, r];
981
+ }
982
+ var bt = (t) => t < Wr || t > $r ? !1 : St(zr, t);
983
+ var kt = (t) => t >= to && t <= ro ? !0 : t < Gr || t > Kr ? !1 : St(Pt, t);
984
+ var uo = /^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05-\u2B07]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF3\uDFF5\uDFF7]|\uD83D[\uDC3F\uDC41\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])$/;
985
+ var Jr = (t) => uo.test(t);
986
+ var oo = /[^\x20-\x7F]/;
987
+ function io(t) {
988
+ if (!t) return 0;
989
+ if (!oo.test(t)) return t.length;
990
+ let e = 0;
991
+ t = t.replace(Vr(), (r) => (e += Jr(r) ? 1 : 2, ""));
992
+ for (let r of t) {
993
+ let n = r.codePointAt(0);
994
+ n <= 31 || n >= 127 && n <= 159 || n >= 768 && n <= 879 || n >= 65024 && n <= 65039 || (e += bt(n) || kt(n) ? 2 : 1);
995
+ }
996
+ return e;
997
+ }
998
+ var Re = io;
999
+ var so = { type: 0 };
1000
+ var Do = { type: 1 };
1001
+ var It = {
1002
+ value: "",
1003
+ length: 0,
1004
+ queue: [],
1005
+ get root() {
1006
+ return It;
1007
+ }
1008
+ };
1009
+ function qr(t, e, r) {
1010
+ let n = e.type === 1 ? t.queue.slice(0, -1) : [...t.queue, e], u = "", o = 0, i = 0, D = 0;
1011
+ for (let f of n) switch (f.type) {
1012
+ case 0:
1013
+ c(), r.useTabs ? s(1) : a(r.tabWidth);
1014
+ break;
1015
+ case 3: {
1016
+ let { string: F } = f;
1017
+ c(), u += F, o += F.length;
1018
+ break;
1019
+ }
1020
+ case 2: {
1021
+ let { width: F } = f;
1022
+ i += 1, D += F;
1023
+ break;
1024
+ }
1025
+ default: throw new Error(`Unexpected indent comment '${f.type}'.`);
1026
+ }
1027
+ return l(), {
1028
+ ...t,
1029
+ value: u,
1030
+ length: o,
1031
+ queue: n
1032
+ };
1033
+ function s(f) {
1034
+ u += " ".repeat(f), o += r.tabWidth * f;
1035
+ }
1036
+ function a(f) {
1037
+ u += " ".repeat(f), o += f;
1038
+ }
1039
+ function c() {
1040
+ r.useTabs ? p() : l();
1041
+ }
1042
+ function p() {
1043
+ i > 0 && s(i), m();
1044
+ }
1045
+ function l() {
1046
+ D > 0 && a(D), m();
1047
+ }
1048
+ function m() {
1049
+ i = 0, D = 0;
1050
+ }
1051
+ }
1052
+ function Xr(t, e, r) {
1053
+ if (!e) return t;
1054
+ if (e.type === "root") return {
1055
+ ...t,
1056
+ root: t
1057
+ };
1058
+ if (e === Number.NEGATIVE_INFINITY) return t.root;
1059
+ let n;
1060
+ return typeof e == "number" ? e < 0 ? n = Do : n = {
1061
+ type: 2,
1062
+ width: e
1063
+ } : n = {
1064
+ type: 3,
1065
+ string: e
1066
+ }, qr(t, n, r);
1067
+ }
1068
+ function Qr(t, e) {
1069
+ return qr(t, so, e);
1070
+ }
1071
+ function ao(t) {
1072
+ let e = 0;
1073
+ for (let r = t.length - 1; r >= 0; r--) {
1074
+ let n = t[r];
1075
+ if (n === " " || n === " ") e++;
1076
+ else break;
1077
+ }
1078
+ return e;
1079
+ }
1080
+ function et(t) {
1081
+ let e = ao(t);
1082
+ return {
1083
+ text: e === 0 ? t : t.slice(0, t.length - e),
1084
+ count: e
1085
+ };
1086
+ }
1087
+ var Rt = class {
1088
+ #t = [];
1089
+ #e = "";
1090
+ #n = 0;
1091
+ #u = [];
1092
+ #r = [];
1093
+ #o() {
1094
+ let e = this.#e;
1095
+ e !== "" && (this.#t.push(e), this.#n += e.length, this.#e = "");
1096
+ for (let r of this.#r) this.#u.push(Math.min(r, this.#n));
1097
+ this.#r.length = 0;
1098
+ }
1099
+ markPosition() {
1100
+ if (this.#u.length + this.#r.length >= 2) throw new Error("There are too many 'cursor' in doc.");
1101
+ this.#r.push(this.#n + this.#e.length);
1102
+ }
1103
+ write(e) {
1104
+ this.#e += e;
1105
+ }
1106
+ trim() {
1107
+ let { text: e, count: r } = et(this.#e);
1108
+ return this.#e = e, this.#o(), r;
1109
+ }
1110
+ finish() {
1111
+ return this.#o(), {
1112
+ text: this.#t.join(""),
1113
+ positions: this.#u
1114
+ };
1115
+ }
1116
+ };
1117
+ var Zr = Rt;
1118
+ var K = Symbol("MODE_BREAK");
1119
+ var Q = Symbol("MODE_FLAT");
1120
+ var vt = Symbol("DOC_FILL_PRINTED_LENGTH");
1121
+ function tt(t, e, r, n, u, o) {
1122
+ if (r === Number.POSITIVE_INFINITY) return !0;
1123
+ let i = e.length, D = !1, s = [t], a = "";
1124
+ for (; r >= 0;) {
1125
+ if (s.length === 0) {
1126
+ if (i === 0) return !0;
1127
+ s.push(e[--i]);
1128
+ continue;
1129
+ }
1130
+ let { mode: c, doc: p } = s.pop(), l = q(p);
1131
+ switch (l) {
1132
+ case G:
1133
+ p && (D && (a += " ", r -= 1, D = !1), a += p, r -= Re(p));
1134
+ break;
1135
+ case U:
1136
+ case S: {
1137
+ let m = l === U ? p : p.parts, f = p[vt] ?? 0;
1138
+ for (let F = m.length - 1; F >= f; F--) s.push({
1139
+ mode: c,
1140
+ doc: m[F]
1141
+ });
1142
+ break;
1143
+ }
1144
+ case I:
1145
+ case R:
1146
+ case L:
1147
+ case b:
1148
+ s.push({
1149
+ mode: c,
1150
+ doc: p.contents
1151
+ });
1152
+ break;
1153
+ case v: {
1154
+ let { text: m, count: f } = et(a);
1155
+ a = m, r += f;
1156
+ break;
1157
+ }
1158
+ case x: {
1159
+ if (o && p.break) return !1;
1160
+ let m = p.break ? K : c, f = p.expandedStates && m === K ? y(0, p.expandedStates, -1) : p.contents;
1161
+ s.push({
1162
+ mode: m,
1163
+ doc: f
1164
+ });
1165
+ break;
1166
+ }
1167
+ case T: {
1168
+ let f = (p.groupId ? u[p.groupId] || Q : c) === K ? p.breakContents : p.flatContents;
1169
+ f && s.push({
1170
+ mode: c,
1171
+ doc: f
1172
+ });
1173
+ break;
1174
+ }
1175
+ case g:
1176
+ if (c === K || p.hard) return !0;
1177
+ p.soft || (D = !0);
1178
+ break;
1179
+ case M:
1180
+ n = !0;
1181
+ break;
1182
+ case Y: if (n) return !1;
1183
+ }
1184
+ }
1185
+ return !1;
1186
+ }
1187
+ function Ce(t, e) {
1188
+ let r = Object.create(null), n = e.printWidth, u = we(e.endOfLine), o = 0, i = [{
1189
+ indent: It,
1190
+ mode: K,
1191
+ doc: t
1192
+ }], D = !1, s = [], a = new Zr();
1193
+ for (Br(t); i.length > 0;) {
1194
+ let { indent: f, mode: F, doc: d } = i.pop();
1195
+ switch (q(d)) {
1196
+ case G: {
1197
+ let E = u !== `
1198
+ ` ? ne(0, d, `
1199
+ `, u) : d;
1200
+ E && (a.write(E), i.length > 0 && (o += Re(E)));
1201
+ break;
1202
+ }
1203
+ case U:
1204
+ for (let E = d.length - 1; E >= 0; E--) i.push({
1205
+ indent: f,
1206
+ mode: F,
1207
+ doc: d[E]
1208
+ });
1209
+ break;
1210
+ case V:
1211
+ a.markPosition();
1212
+ break;
1213
+ case I:
1214
+ i.push({
1215
+ indent: Qr(f, e),
1216
+ mode: F,
1217
+ doc: d.contents
1218
+ });
1219
+ break;
1220
+ case R:
1221
+ i.push({
1222
+ indent: Xr(f, d.n, e),
1223
+ mode: F,
1224
+ doc: d.contents
1225
+ });
1226
+ break;
1227
+ case v:
1228
+ o -= a.trim();
1229
+ break;
1230
+ case x: {
1231
+ let E = (function() {
1232
+ if (F === Q && !D) return {
1233
+ indent: f,
1234
+ mode: d.break ? K : Q,
1235
+ doc: d.contents
1236
+ };
1237
+ D = !1;
1238
+ let h = n - o, _ = s.length > 0, P = {
1239
+ indent: f,
1240
+ mode: Q,
1241
+ doc: d.contents
1242
+ };
1243
+ if (!d.break && tt(P, i, h, _, r)) return P;
1244
+ if (!d.expandedStates) return {
1245
+ indent: f,
1246
+ mode: K,
1247
+ doc: d.contents
1248
+ };
1249
+ if (!d.break) for (let A = 1; A < d.expandedStates.length - 1; A++) {
1250
+ let B = {
1251
+ indent: f,
1252
+ mode: Q,
1253
+ doc: d.expandedStates[A]
1254
+ };
1255
+ if (tt(B, i, h, _, r)) return B;
1256
+ }
1257
+ return {
1258
+ indent: f,
1259
+ mode: K,
1260
+ doc: y(0, d.expandedStates, -1)
1261
+ };
1262
+ })();
1263
+ i.push(E), d.id && (r[d.id] = E.mode);
1264
+ break;
1265
+ }
1266
+ case S: {
1267
+ let E = n - o, C = d[vt] ?? 0, { parts: h } = d, _ = h.length - C;
1268
+ if (_ === 0) break;
1269
+ let P = h[C + 0], A = h[C + 1], B = {
1270
+ indent: f,
1271
+ mode: Q,
1272
+ doc: P
1273
+ }, J = {
1274
+ indent: f,
1275
+ mode: K,
1276
+ doc: P
1277
+ }, $e = tt(B, [], E, s.length > 0, r, !0);
1278
+ if (_ === 1) {
1279
+ $e ? i.push(B) : i.push(J);
1280
+ break;
1281
+ }
1282
+ let lr = {
1283
+ indent: f,
1284
+ mode: Q,
1285
+ doc: A
1286
+ }, _t = {
1287
+ indent: f,
1288
+ mode: K,
1289
+ doc: A
1290
+ };
1291
+ if (_ === 2) {
1292
+ $e ? i.push(lr, B) : i.push(_t, J);
1293
+ break;
1294
+ }
1295
+ let bu = h[C + 2], ku = {
1296
+ indent: f,
1297
+ mode: F,
1298
+ doc: {
1299
+ ...d,
1300
+ [vt]: C + 2
1301
+ }
1302
+ }, Iu = tt({
1303
+ indent: f,
1304
+ mode: Q,
1305
+ doc: [
1306
+ P,
1307
+ A,
1308
+ bu
1309
+ ]
1310
+ }, [], E, s.length > 0, r, !0);
1311
+ i.push(ku), Iu ? i.push(lr, B) : $e ? i.push(_t, B) : i.push(_t, J);
1312
+ break;
1313
+ }
1314
+ case T:
1315
+ case L: {
1316
+ let E = d.groupId ? r[d.groupId] : F;
1317
+ if (E === K) {
1318
+ let C = d.type === T ? d.breakContents : d.negate ? d.contents : oe(d.contents);
1319
+ C && i.push({
1320
+ indent: f,
1321
+ mode: F,
1322
+ doc: C
1323
+ });
1324
+ }
1325
+ if (E === Q) {
1326
+ let C = d.type === T ? d.flatContents : d.negate ? oe(d.contents) : d.contents;
1327
+ C && i.push({
1328
+ indent: f,
1329
+ mode: F,
1330
+ doc: C
1331
+ });
1332
+ }
1333
+ break;
1334
+ }
1335
+ case M:
1336
+ s.push({
1337
+ indent: f,
1338
+ mode: F,
1339
+ doc: d.contents
1340
+ });
1341
+ break;
1342
+ case Y:
1343
+ s.length > 0 && i.push({
1344
+ indent: f,
1345
+ mode: F,
1346
+ doc: ke
1347
+ });
1348
+ break;
1349
+ case g:
1350
+ switch (F) {
1351
+ case Q:
1352
+ if (!d.hard) {
1353
+ d.soft || (a.write(" "), o += 1);
1354
+ break;
1355
+ }
1356
+ D = !0;
1357
+ case K:
1358
+ if (s.length > 0) {
1359
+ i.push({
1360
+ indent: f,
1361
+ mode: F,
1362
+ doc: d
1363
+ }, ...s.reverse()), s.length = 0;
1364
+ break;
1365
+ }
1366
+ d.literal ? (a.write(u), o = 0, f.root && (f.root.value && a.write(f.root.value), o = f.root.length)) : (a.trim(), a.write(u + f.value), o = f.length);
1367
+ }
1368
+ break;
1369
+ case b:
1370
+ i.push({
1371
+ indent: f,
1372
+ mode: F,
1373
+ doc: d.contents
1374
+ });
1375
+ break;
1376
+ case N: break;
1377
+ default: throw new Z(d);
1378
+ }
1379
+ i.length === 0 && s.length > 0 && (i.push(...s.reverse()), s.length = 0);
1380
+ }
1381
+ let { text: c, positions: p } = a.finish();
1382
+ if (p.length !== 2) return { formatted: c };
1383
+ let [l, m] = p;
1384
+ return {
1385
+ formatted: c,
1386
+ cursorNodeStart: l,
1387
+ cursorNodeText: c.slice(l, m)
1388
+ };
1389
+ }
1390
+ function co(t, e, r = 0) {
1391
+ let n = 0;
1392
+ for (let u = r; u < t.length; ++u) t[u] === " " ? n = n + e - n % e : n++;
1393
+ return n;
1394
+ }
1395
+ var he = co;
1396
+ var Lt = class {
1397
+ constructor(e) {
1398
+ this.stack = [e];
1399
+ }
1400
+ get key() {
1401
+ let { stack: e, siblings: r } = this;
1402
+ return y(0, e, r === null ? -2 : -4) ?? null;
1403
+ }
1404
+ get index() {
1405
+ return this.siblings === null ? null : y(0, this.stack, -2);
1406
+ }
1407
+ get node() {
1408
+ return y(0, this.stack, -1);
1409
+ }
1410
+ get parent() {
1411
+ return this.getNode(1);
1412
+ }
1413
+ get grandparent() {
1414
+ return this.getNode(2);
1415
+ }
1416
+ get isInArray() {
1417
+ return this.siblings !== null;
1418
+ }
1419
+ get siblings() {
1420
+ let { stack: e } = this, r = y(0, e, -3);
1421
+ return Array.isArray(r) ? r : null;
1422
+ }
1423
+ get next() {
1424
+ let { siblings: e } = this;
1425
+ return e === null ? null : e[this.index + 1];
1426
+ }
1427
+ get previous() {
1428
+ let { siblings: e } = this;
1429
+ return e === null ? null : e[this.index - 1];
1430
+ }
1431
+ get isFirst() {
1432
+ return this.index === 0;
1433
+ }
1434
+ get isLast() {
1435
+ let { siblings: e, index: r } = this;
1436
+ return e !== null && r === e.length - 1;
1437
+ }
1438
+ get isRoot() {
1439
+ return this.stack.length === 1;
1440
+ }
1441
+ get root() {
1442
+ return this.stack[0];
1443
+ }
1444
+ get ancestors() {
1445
+ return [...this.#e()];
1446
+ }
1447
+ getName() {
1448
+ let { stack: e } = this, { length: r } = e;
1449
+ return r > 1 ? y(0, e, -2) : null;
1450
+ }
1451
+ getValue() {
1452
+ return y(0, this.stack, -1);
1453
+ }
1454
+ getNode(e = 0) {
1455
+ let r = this.#t(e);
1456
+ return r === -1 ? null : this.stack[r];
1457
+ }
1458
+ getParentNode(e = 0) {
1459
+ return this.getNode(e + 1);
1460
+ }
1461
+ #t(e) {
1462
+ let { stack: r } = this;
1463
+ for (let n = r.length - 1; n >= 0; n -= 2) if (!Array.isArray(r[n]) && --e < 0) return n;
1464
+ return -1;
1465
+ }
1466
+ call(e, ...r) {
1467
+ let { stack: n } = this, { length: u } = n, o = y(0, n, -1);
1468
+ for (let i of r) o = o?.[i], n.push(i, o);
1469
+ try {
1470
+ return e(this);
1471
+ } finally {
1472
+ n.length = u;
1473
+ }
1474
+ }
1475
+ callParent(e, r = 0) {
1476
+ let n = this.#t(r + 1), u = this.stack.splice(n + 1);
1477
+ try {
1478
+ return e(this);
1479
+ } finally {
1480
+ this.stack.push(...u);
1481
+ }
1482
+ }
1483
+ each(e, ...r) {
1484
+ let { stack: n } = this, { length: u } = n, o = y(0, n, -1);
1485
+ for (let i of r) o = o[i], n.push(i, o);
1486
+ try {
1487
+ for (let i = 0; i < o.length; ++i) n.push(i, o[i]), e(this, i, o), n.length -= 2;
1488
+ } finally {
1489
+ n.length = u;
1490
+ }
1491
+ }
1492
+ map(e, ...r) {
1493
+ let n = [];
1494
+ return this.each((u, o, i) => {
1495
+ n[o] = e(u, o, i);
1496
+ }, ...r), n;
1497
+ }
1498
+ match(...e) {
1499
+ let r = this.stack.length - 1, n = null, u = this.stack[r--];
1500
+ for (let o of e) {
1501
+ if (u === void 0) return !1;
1502
+ let i = null;
1503
+ if (typeof n == "number" && (i = n, n = this.stack[r--], u = this.stack[r--]), o && !o(u, n, i)) return !1;
1504
+ n = this.stack[r--], u = this.stack[r--];
1505
+ }
1506
+ return !0;
1507
+ }
1508
+ findAncestor(e) {
1509
+ for (let r of this.#e()) if (e(r)) return r;
1510
+ }
1511
+ hasAncestor(e) {
1512
+ for (let r of this.#e()) if (e(r)) return !0;
1513
+ return !1;
1514
+ }
1515
+ *#e() {
1516
+ let { stack: e } = this;
1517
+ for (let r = e.length - 3; r >= 0; r -= 2) {
1518
+ let n = e[r];
1519
+ Array.isArray(n) || (yield n);
1520
+ }
1521
+ }
1522
+ };
1523
+ var en = Lt;
1524
+ function fo(t) {
1525
+ return Array.isArray(t) && t.length > 0;
1526
+ }
1527
+ var rt = fo;
1528
+ function lo(t) {
1529
+ return t !== null && typeof t == "object";
1530
+ }
1531
+ var ge = lo;
1532
+ function _e(t) {
1533
+ return (e, r, n) => {
1534
+ if (r === !1) return !1;
1535
+ let u = !!n?.backwards, { length: o } = e, i = r;
1536
+ for (; i >= 0 && i < o;) {
1537
+ let D = e.charAt(i);
1538
+ if (t instanceof RegExp) {
1539
+ if (!t.test(D)) return i;
1540
+ } else if (!t.includes(D)) return i;
1541
+ u ? i-- : i++;
1542
+ }
1543
+ return i === -1 || i === o ? i : !1;
1544
+ };
1545
+ }
1546
+ var tn = _e(/\s/);
1547
+ var j = _e(" ");
1548
+ var nt = _e(",; ");
1549
+ var ut = _e(/[^\n\r]/);
1550
+ var rn = (t) => t === `
1551
+ ` || t === "\r" || t === "\u2028" || t === "\u2029";
1552
+ function po(t, e, r) {
1553
+ if (e === !1) return !1;
1554
+ let n = !!r?.backwards, u = t.charAt(e);
1555
+ if (n) {
1556
+ if (t.charAt(e - 1) === "\r" && u === `
1557
+ `) return e - 2;
1558
+ if (rn(u)) return e - 1;
1559
+ } else {
1560
+ if (u === "\r" && t.charAt(e + 1) === `
1561
+ `) return e + 2;
1562
+ if (rn(u)) return e + 1;
1563
+ }
1564
+ return e;
1565
+ }
1566
+ var $ = po;
1567
+ function mo(t, e, r = {}) {
1568
+ let n = j(t, r.backwards ? e - 1 : e, r);
1569
+ return n !== $(t, n, r);
1570
+ }
1571
+ var H = mo;
1572
+ function* ye(t, e) {
1573
+ let { getVisitorKeys: r, filter: n = () => !0 } = e, u = (o) => ge(o) && n(o);
1574
+ for (let o of r(t)) {
1575
+ let i = t[o];
1576
+ if (Array.isArray(i)) for (let D of i) u(D) && (yield D);
1577
+ else u(i) && (yield i);
1578
+ }
1579
+ }
1580
+ function* nn(t, e) {
1581
+ let r = [t];
1582
+ for (let n = 0; n < r.length; n++) {
1583
+ let u = r[n];
1584
+ for (let o of ye(u, e)) yield o, r.push(o);
1585
+ }
1586
+ }
1587
+ function un(t, e) {
1588
+ return ye(t, e).next().done;
1589
+ }
1590
+ function Fo(t, e, r) {
1591
+ let { filter: n } = r;
1592
+ if (!n) return [];
1593
+ let u, o = (r.getChildren?.(t, r) ?? [...ye(t, { getVisitorKeys: r.getVisitorKeys })]).flatMap((s) => (u ?? (u = [t, ...e]), n(s, u) ? [s] : on(s, u, r))), { locStart: i, locEnd: D } = r;
1594
+ return o.sort((s, a) => i(s) - i(a) || D(s) - D(a)), o;
1595
+ }
1596
+ function on(t, e, r) {
1597
+ return Fe(r.cache, t, (n) => Fo(n, e, r));
1598
+ }
1599
+ var ot = on;
1600
+ function Eo(t) {
1601
+ let e = t.type || t.kind || "(unknown type)", r = String(t.name || t.id && (typeof t.id == "object" ? t.id.name : t.id) || t.key && (typeof t.key == "object" ? t.key.name : t.key) || t.value && (typeof t.value == "object" ? "" : String(t.value)) || t.operator || "");
1602
+ return r.length > 20 && (r = r.slice(0, 19) + "…"), e + (r ? " " + r : "");
1603
+ }
1604
+ function Mt(t, e) {
1605
+ (t.comments ?? (t.comments = [])).push(e), e.printed = !1, e.nodeDescription = Eo(t);
1606
+ }
1607
+ function ce(t, e) {
1608
+ e.leading = !0, e.trailing = !1, Mt(t, e);
1609
+ }
1610
+ function re(t, e, r) {
1611
+ e.leading = !1, e.trailing = !1, r && (e.marker = r), Mt(t, e);
1612
+ }
1613
+ function fe(t, e) {
1614
+ e.leading = !1, e.trailing = !0, Mt(t, e);
1615
+ }
1616
+ var Ut = /* @__PURE__ */ new WeakMap();
1617
+ function Dn(t, e, r, n, u = []) {
1618
+ let { locStart: o, locEnd: i } = r, D = o(e), s = i(e), a = ot(t, u, {
1619
+ cache: Ut,
1620
+ locStart: o,
1621
+ locEnd: i,
1622
+ getVisitorKeys: r.getVisitorKeys,
1623
+ filter: r.printer.canAttachComment,
1624
+ getChildren: r.printer.getCommentChildNodes
1625
+ }), c, p, l = 0, m = a.length;
1626
+ for (; l < m;) {
1627
+ let f = l + m >> 1, F = a[f], d = o(F), E = i(F);
1628
+ if (d <= D && s <= E) return Dn(F, e, r, F, [F, ...u]);
1629
+ if (E <= D) {
1630
+ c = F, l = f + 1;
1631
+ continue;
1632
+ }
1633
+ if (s <= d) {
1634
+ p = F, m = f;
1635
+ continue;
1636
+ }
1637
+ throw new Error("Comment location overlaps with node location");
1638
+ }
1639
+ if (n?.type === "TemplateLiteral") {
1640
+ let { quasis: f } = n, F = jt(f, e, r);
1641
+ c && jt(f, c, r) !== F && (c = null), p && jt(f, p, r) !== F && (p = null);
1642
+ }
1643
+ return {
1644
+ enclosingNode: n,
1645
+ precedingNode: c,
1646
+ followingNode: p
1647
+ };
1648
+ }
1649
+ var Yt = () => !1;
1650
+ function an(t, e) {
1651
+ let { comments: r } = t;
1652
+ if (delete t.comments, !rt(r) || !e.printer.canAttachComment) return;
1653
+ let n = [], { printer: { features: { experimental_avoidAstMutation: u }, handleComments: o = {} }, originalText: i } = e, { ownLine: D = Yt, endOfLine: s = Yt, remaining: a = Yt } = o, c = r.map((l, m) => ({
1654
+ ...Dn(t, l, e),
1655
+ comment: l,
1656
+ text: i,
1657
+ options: e,
1658
+ ast: t,
1659
+ isLastComment: r.length - 1 === m,
1660
+ placement: void 0
1661
+ })), p = !u;
1662
+ for (let [l, m] of c.entries()) {
1663
+ let { comment: f, precedingNode: F, enclosingNode: d, followingNode: E, text: C, options: h, ast: _, isLastComment: P } = m, A = Co(C, h, c, l) ? "ownLine" : ho(C, h, c, l) ? "endOfLine" : "remaining", B;
1664
+ if (u ? (m.placement = A, B = [m]) : B = [
1665
+ f,
1666
+ C,
1667
+ h,
1668
+ _,
1669
+ P
1670
+ ], p && (f.enclosingNode = d, f.precedingNode = F, f.followingNode = E), f.placement = A, A === "ownLine") D(...B) || (E ? ce(E, f) : F ? fe(F, f) : d ? re(d, f) : re(_, f));
1671
+ else if (A === "endOfLine") s(...B) || (F ? fe(F, f) : E ? ce(E, f) : d ? re(d, f) : re(_, f));
1672
+ else if (!a(...B)) if (F && E) {
1673
+ let J = n.length;
1674
+ J > 0 && n[J - 1].followingNode !== E && sn(n, h), n.push(m);
1675
+ } else F ? fe(F, f) : E ? ce(E, f) : d ? re(d, f) : re(_, f);
1676
+ }
1677
+ if (sn(n, e), p) for (let l of r) delete l.precedingNode, delete l.enclosingNode, delete l.followingNode;
1678
+ }
1679
+ var cn = (t) => !/[\S\n\u2028\u2029]/.test(t);
1680
+ function Co(t, e, r, n) {
1681
+ let { comment: u, precedingNode: o } = r[n], { locStart: i, locEnd: D } = e, s = i(u);
1682
+ if (o) for (let a = n - 1; a >= 0; a--) {
1683
+ let { comment: c, precedingNode: p } = r[a];
1684
+ if (p !== o || !cn(t.slice(D(c), s))) break;
1685
+ s = i(c);
1686
+ }
1687
+ return H(t, s, { backwards: !0 });
1688
+ }
1689
+ function ho(t, e, r, n) {
1690
+ let { comment: u, followingNode: o } = r[n], { locStart: i, locEnd: D } = e, s = D(u);
1691
+ if (o) for (let a = n + 1; a < r.length; a++) {
1692
+ let { comment: c, followingNode: p } = r[a];
1693
+ if (p !== o || !cn(t.slice(s, i(c)))) break;
1694
+ s = D(c);
1695
+ }
1696
+ return H(t, s);
1697
+ }
1698
+ function sn(t, e) {
1699
+ let r = t.length;
1700
+ if (r === 0) return;
1701
+ let { precedingNode: n, followingNode: u } = t[0], o = e.locStart(u), i;
1702
+ for (i = r; i > 0; --i) {
1703
+ let { comment: D, precedingNode: s, followingNode: a } = t[i - 1];
1704
+ k(s, n), k(a, u);
1705
+ let c = e.originalText.slice(e.locEnd(D), o);
1706
+ if (e.printer.isGap?.(c, e) ?? /^[\s(]*$/.test(c)) o = e.locStart(D);
1707
+ else break;
1708
+ }
1709
+ for (let [D, { comment: s }] of t.entries()) D < i ? fe(n, s) : ce(u, s);
1710
+ for (let D of [n, u]) D.comments && D.comments.length > 1 && D.comments.sort((s, a) => e.locStart(s) - e.locStart(a));
1711
+ t.length = 0;
1712
+ }
1713
+ function jt(t, e, r) {
1714
+ let n = r.locStart(e) - 1;
1715
+ for (let u = 1; u < t.length; ++u) if (n < r.locStart(t[u])) return u - 1;
1716
+ return 0;
1717
+ }
1718
+ function go(t, e) {
1719
+ let r = e - 1;
1720
+ r = j(t, r, { backwards: !0 }), r = $(t, r, { backwards: !0 }), r = j(t, r, { backwards: !0 });
1721
+ let n = $(t, r, { backwards: !0 });
1722
+ return r !== n;
1723
+ }
1724
+ var ve = go;
1725
+ var fn = () => !0;
1726
+ function ln(t, e) {
1727
+ let r = t.node;
1728
+ return r.printed = !0, e.printer.printComment(t, e);
1729
+ }
1730
+ function _o(t, e) {
1731
+ let r = t.node, n = [ln(t, e)], { printer: u, originalText: o, locStart: i, locEnd: D } = e;
1732
+ if (u.isBlockComment?.(r)) {
1733
+ let c = " ";
1734
+ H(o, D(r)) && (H(o, i(r), { backwards: !0 }) ? c = W : c = Ze), n.push(c);
1735
+ } else n.push(W);
1736
+ let a = $(o, j(o, D(r)));
1737
+ return a !== !1 && H(o, a) && n.push(W), n;
1738
+ }
1739
+ function yo(t, e, r) {
1740
+ let n = t.node, u = ln(t, e), { printer: o, originalText: i, locStart: D } = e, s = o.isBlockComment?.(n);
1741
+ if (r?.hasLineSuffix && !r?.isBlock || H(i, D(n), { backwards: !0 })) return {
1742
+ doc: Ie([
1743
+ W,
1744
+ ve(i, D(n)) ? W : "",
1745
+ u
1746
+ ]),
1747
+ isBlock: s,
1748
+ hasLineSuffix: !0
1749
+ };
1750
+ return !s || r?.hasLineSuffix ? {
1751
+ doc: [Ie([" ", u]), ae],
1752
+ isBlock: s,
1753
+ hasLineSuffix: !0
1754
+ } : {
1755
+ doc: [" ", u],
1756
+ isBlock: s,
1757
+ hasLineSuffix: !1
1758
+ };
1759
+ }
1760
+ function Ao(t, e, r) {
1761
+ let n = e[Symbol.for("printedComments")], u = r?.filter ?? fn, o = new Set(t.node?.comments?.filter((i) => !n?.has(i) && i.leading && u(i)));
1762
+ return o.size === 0 ? "" : t.map(({ node: i }) => o.has(i) ? _o(t, e) : "", "comments").filter(Boolean);
1763
+ }
1764
+ function xo(t, e, r) {
1765
+ let n = t.node?.comments, u = new Set(n?.filter((c) => c.trailing)), o = e[Symbol.for("printedComments")], i = r?.filter ?? fn, D = new Set(n?.filter((c) => u.has(c) && !o?.has(c) && i(c)));
1766
+ if (D.size === 0) return "";
1767
+ let s = [], a;
1768
+ return t.each(({ node: c }) => {
1769
+ u.has(c) && (a = yo(t, e, a), D.has(c) && s.push(a.doc));
1770
+ }, "comments"), s;
1771
+ }
1772
+ function pn(t, e, r, n) {
1773
+ let u = Ao(t, r, n), o = xo(t, r, n);
1774
+ return u || o ? Ee(e, (i) => [
1775
+ u,
1776
+ i,
1777
+ o
1778
+ ]) : e;
1779
+ }
1780
+ function mn(t) {
1781
+ let { [ue]: e, [Symbol.for("printedComments")]: r } = t;
1782
+ for (let n of e) {
1783
+ if (!n.printed && !r.has(n)) throw new Error("Comment \"" + n.value.trim() + "\" was not printed. Please report this error!");
1784
+ delete n.printed;
1785
+ }
1786
+ }
1787
+ var dn = () => k;
1788
+ var Le = class extends Error {
1789
+ name = "ConfigError";
1790
+ };
1791
+ var Me = class extends Error {
1792
+ name = "UndefinedParserError";
1793
+ };
1794
+ var le = Object.hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty);
1795
+ var Fn = {
1796
+ checkIgnorePragma: {
1797
+ category: "Special",
1798
+ type: "boolean",
1799
+ default: !1,
1800
+ description: "Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",
1801
+ cliCategory: "Other"
1802
+ },
1803
+ cursorOffset: {
1804
+ category: "Special",
1805
+ type: "int",
1806
+ default: -1,
1807
+ range: {
1808
+ start: -1,
1809
+ end: 1 / 0,
1810
+ step: 1
1811
+ },
1812
+ description: "Print (to stderr) where a cursor at the given position would move to after formatting.",
1813
+ cliCategory: "Editor"
1814
+ },
1815
+ endOfLine: {
1816
+ category: "Global",
1817
+ type: "choice",
1818
+ default: "lf",
1819
+ description: "Which end of line characters to apply.",
1820
+ choices: [
1821
+ {
1822
+ value: "lf",
1823
+ description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos"
1824
+ },
1825
+ {
1826
+ value: "crlf",
1827
+ description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows"
1828
+ },
1829
+ {
1830
+ value: "cr",
1831
+ description: "Carriage Return character only (\\r), used very rarely"
1832
+ },
1833
+ {
1834
+ value: "auto",
1835
+ description: `Maintain existing
1836
+ (mixed values within one file are normalised by looking at what's used after the first line)`
1837
+ }
1838
+ ]
1839
+ },
1840
+ filepath: {
1841
+ category: "Special",
1842
+ type: "path",
1843
+ description: "Specify the input filepath. This will be used to do parser inference.",
1844
+ cliName: "stdin-filepath",
1845
+ cliCategory: "Other",
1846
+ cliDescription: "Path to the file to pretend that stdin comes from."
1847
+ },
1848
+ insertPragma: {
1849
+ category: "Special",
1850
+ type: "boolean",
1851
+ default: !1,
1852
+ description: "Insert @format pragma into file's first docblock comment.",
1853
+ cliCategory: "Other"
1854
+ },
1855
+ parser: {
1856
+ category: "Global",
1857
+ type: "choice",
1858
+ default: void 0,
1859
+ description: "Which parser to use.",
1860
+ exception: (t) => typeof t == "string" || typeof t == "function",
1861
+ choices: [
1862
+ {
1863
+ value: "flow",
1864
+ description: "Flow"
1865
+ },
1866
+ {
1867
+ value: "babel",
1868
+ description: "JavaScript"
1869
+ },
1870
+ {
1871
+ value: "babel-flow",
1872
+ description: "Flow"
1873
+ },
1874
+ {
1875
+ value: "babel-ts",
1876
+ description: "TypeScript"
1877
+ },
1878
+ {
1879
+ value: "typescript",
1880
+ description: "TypeScript"
1881
+ },
1882
+ {
1883
+ value: "acorn",
1884
+ description: "JavaScript"
1885
+ },
1886
+ {
1887
+ value: "espree",
1888
+ description: "JavaScript"
1889
+ },
1890
+ {
1891
+ value: "meriyah",
1892
+ description: "JavaScript"
1893
+ },
1894
+ {
1895
+ value: "css",
1896
+ description: "CSS"
1897
+ },
1898
+ {
1899
+ value: "less",
1900
+ description: "Less"
1901
+ },
1902
+ {
1903
+ value: "scss",
1904
+ description: "SCSS"
1905
+ },
1906
+ {
1907
+ value: "json",
1908
+ description: "JSON"
1909
+ },
1910
+ {
1911
+ value: "json5",
1912
+ description: "JSON5"
1913
+ },
1914
+ {
1915
+ value: "jsonc",
1916
+ description: "JSON with Comments"
1917
+ },
1918
+ {
1919
+ value: "json-stringify",
1920
+ description: "JSON.stringify"
1921
+ },
1922
+ {
1923
+ value: "graphql",
1924
+ description: "GraphQL"
1925
+ },
1926
+ {
1927
+ value: "markdown",
1928
+ description: "Markdown"
1929
+ },
1930
+ {
1931
+ value: "mdx",
1932
+ description: "MDX"
1933
+ },
1934
+ {
1935
+ value: "vue",
1936
+ description: "Vue"
1937
+ },
1938
+ {
1939
+ value: "yaml",
1940
+ description: "YAML"
1941
+ },
1942
+ {
1943
+ value: "glimmer",
1944
+ description: "Ember / Handlebars"
1945
+ },
1946
+ {
1947
+ value: "html",
1948
+ description: "HTML"
1949
+ },
1950
+ {
1951
+ value: "angular",
1952
+ description: "Angular"
1953
+ },
1954
+ {
1955
+ value: "lwc",
1956
+ description: "Lightning Web Components"
1957
+ },
1958
+ {
1959
+ value: "mjml",
1960
+ description: "MJML"
1961
+ }
1962
+ ]
1963
+ },
1964
+ plugins: {
1965
+ type: "path",
1966
+ array: !0,
1967
+ default: [{ value: [] }],
1968
+ category: "Global",
1969
+ description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",
1970
+ exception: (t) => typeof t == "string" || typeof t == "object",
1971
+ cliName: "plugin",
1972
+ cliCategory: "Config"
1973
+ },
1974
+ printWidth: {
1975
+ category: "Global",
1976
+ type: "int",
1977
+ default: 80,
1978
+ description: "The line length where Prettier will try wrap.",
1979
+ range: {
1980
+ start: 0,
1981
+ end: 1 / 0,
1982
+ step: 1
1983
+ }
1984
+ },
1985
+ rangeEnd: {
1986
+ category: "Special",
1987
+ type: "int",
1988
+ default: 1 / 0,
1989
+ range: {
1990
+ start: 0,
1991
+ end: 1 / 0,
1992
+ step: 1
1993
+ },
1994
+ description: `Format code ending at a given character offset (exclusive).
1995
+ The range will extend forwards to the end of the selected statement.`,
1996
+ cliCategory: "Editor"
1997
+ },
1998
+ rangeStart: {
1999
+ category: "Special",
2000
+ type: "int",
2001
+ default: 0,
2002
+ range: {
2003
+ start: 0,
2004
+ end: 1 / 0,
2005
+ step: 1
2006
+ },
2007
+ description: `Format code starting at a given character offset.
2008
+ The range will extend backwards to the start of the first line containing the selected statement.`,
2009
+ cliCategory: "Editor"
2010
+ },
2011
+ requirePragma: {
2012
+ category: "Special",
2013
+ type: "boolean",
2014
+ default: !1,
2015
+ description: "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",
2016
+ cliCategory: "Other"
2017
+ },
2018
+ tabWidth: {
2019
+ type: "int",
2020
+ category: "Global",
2021
+ default: 2,
2022
+ description: "Number of spaces per indentation level.",
2023
+ range: {
2024
+ start: 0,
2025
+ end: 1 / 0,
2026
+ step: 1
2027
+ }
2028
+ },
2029
+ useTabs: {
2030
+ category: "Global",
2031
+ type: "boolean",
2032
+ default: !1,
2033
+ description: "Indent with tabs instead of spaces."
2034
+ },
2035
+ embeddedLanguageFormatting: {
2036
+ category: "Global",
2037
+ type: "choice",
2038
+ default: "auto",
2039
+ description: "Control how Prettier formats quoted code embedded in the file.",
2040
+ choices: [{
2041
+ value: "auto",
2042
+ description: "Format embedded code if Prettier can automatically identify it."
2043
+ }, {
2044
+ value: "off",
2045
+ description: "Never automatically format embedded code."
2046
+ }]
2047
+ }
2048
+ };
2049
+ function it({ plugins: t = [], showDeprecated: e = !1 } = {}) {
2050
+ let r = t.flatMap((u) => u.languages ?? []), n = [];
2051
+ for (let u of No(Object.assign({}, ...t.map(({ options: o }) => o), Fn))) !e && u.deprecated || (Array.isArray(u.choices) && (e || (u.choices = u.choices.filter((o) => !o.deprecated)), u.name === "parser" && (u.choices = [...u.choices, ...To(u.choices, r, t)])), u.pluginDefaults = Object.fromEntries(t.filter((o) => o.defaultOptions?.[u.name] !== void 0).map((o) => [o.name, o.defaultOptions[u.name]])), n.push(u));
2052
+ return {
2053
+ languages: r,
2054
+ options: n
2055
+ };
2056
+ }
2057
+ function* To(t, e, r) {
2058
+ let n = new Set(t.map((u) => u.value));
2059
+ for (let u of e) if (u.parsers) {
2060
+ for (let o of u.parsers) if (!n.has(o)) {
2061
+ n.add(o);
2062
+ let i = r.find((s) => s.parsers && le(s.parsers, o)), D = u.name;
2063
+ i?.name && (D += ` (plugin: ${i.name})`), yield {
2064
+ value: o,
2065
+ description: D
2066
+ };
2067
+ }
2068
+ }
2069
+ }
2070
+ function No(t) {
2071
+ let e = [];
2072
+ for (let [r, n] of Object.entries(t)) {
2073
+ let u = {
2074
+ name: r,
2075
+ ...n
2076
+ };
2077
+ Array.isArray(u.default) && (u.default = y(0, u.default, -1).value), e.push(u);
2078
+ }
2079
+ return e;
2080
+ }
2081
+ var wo = Array.prototype.toReversed ?? function() {
2082
+ return [...this].reverse();
2083
+ };
2084
+ var En = X("toReversed", function() {
2085
+ if (Array.isArray(this)) return wo;
2086
+ });
2087
+ function Po() {
2088
+ let t = globalThis, e = t.process?.platform;
2089
+ if (typeof e == "string") return e.startsWith("win");
2090
+ let r = t.Deno?.build?.os;
2091
+ return typeof r == "string" ? r === "windows" : t.navigator?.platform?.startsWith("Win") ?? !1;
2092
+ }
2093
+ var So = Po();
2094
+ function Cn(t) {
2095
+ if (t = t instanceof URL ? t : new URL(t), t.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${t.protocol}"`);
2096
+ return t;
2097
+ }
2098
+ function bo(t) {
2099
+ return t = Cn(t), decodeURIComponent(t.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
2100
+ }
2101
+ function ko(t) {
2102
+ t = Cn(t);
2103
+ let e = decodeURIComponent(t.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
2104
+ return t.hostname !== "" && (e = `\\\\${t.hostname}${e}`), e;
2105
+ }
2106
+ function Vt(t) {
2107
+ return So ? ko(t) : bo(t);
2108
+ }
2109
+ var hn = (t) => String(t).split(/[/\\]/).pop();
2110
+ var gn = (t) => String(t).startsWith("file:");
2111
+ function _n(t, e) {
2112
+ if (!e) return;
2113
+ let r = hn(e).toLowerCase();
2114
+ return t.find(({ filenames: n }) => n?.some((u) => u.toLowerCase() === r)) ?? t.find(({ extensions: n }) => n?.some((u) => r.endsWith(u)));
2115
+ }
2116
+ function Io(t, e) {
2117
+ if (e) return t.find(({ name: r }) => r.toLowerCase() === e) ?? t.find(({ aliases: r }) => r?.includes(e)) ?? t.find(({ extensions: r }) => r?.includes(`.${e}`));
2118
+ }
2119
+ var Ro = void 0;
2120
+ function yn(t, e) {
2121
+ if (e) {
2122
+ if (gn(e)) try {
2123
+ e = Vt(e);
2124
+ } catch {
2125
+ return;
2126
+ }
2127
+ if (typeof e == "string") return t.find(({ isSupported: r }) => r?.({ filepath: e }));
2128
+ }
2129
+ }
2130
+ function vo(t, e) {
2131
+ let r = En(0, t.plugins).flatMap((u) => u.languages ?? []);
2132
+ return (Io(r, e.language) ?? _n(r, e.physicalFile) ?? _n(r, e.file) ?? yn(r, e.physicalFile) ?? yn(r, e.file) ?? Ro?.(r, e.physicalFile))?.parsers[0];
2133
+ }
2134
+ var st = vo;
2135
+ var ie = {
2136
+ key: (t) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t) ? t : JSON.stringify(t),
2137
+ value(t) {
2138
+ if (t === null || typeof t != "object") return JSON.stringify(t);
2139
+ if (Array.isArray(t)) return `[${t.map((r) => ie.value(r)).join(", ")}]`;
2140
+ let e = Object.keys(t);
2141
+ return e.length === 0 ? "{}" : `{ ${e.map((r) => `${ie.key(r)}: ${ie.value(t[r])}`).join(", ")} }`;
2142
+ },
2143
+ pair: ({ key: t, value: e }) => ie.value({ [t]: e })
2144
+ };
2145
+ var An = new Proxy(String, { get: () => An });
2146
+ var z = An;
2147
+ var xn = (t, e, { descriptor: r }) => {
2148
+ let n = [`${z.yellow(typeof t == "string" ? r.key(t) : r.pair(t))} is deprecated`];
2149
+ return e && n.push(`we now treat it as ${z.blue(typeof e == "string" ? r.key(e) : r.pair(e))}`), n.join("; ") + ".";
2150
+ };
2151
+ var Dt = Symbol.for("vnopts.VALUE_NOT_EXIST");
2152
+ var Ae = Symbol.for("vnopts.VALUE_UNCHANGED");
2153
+ var Bn = " ".repeat(2);
2154
+ var Nn = (t, e, r) => {
2155
+ let { text: n, list: u } = r.normalizeExpectedResult(r.schemas[t].expected(r)), o = [];
2156
+ return n && o.push(Tn(t, e, n, r.descriptor)), u && o.push([Tn(t, e, u.title, r.descriptor)].concat(u.values.map((i) => wn(i, r.loggerPrintWidth))).join(`
2157
+ `)), On(o, r.loggerPrintWidth);
2158
+ };
2159
+ function Tn(t, e, r, n) {
2160
+ return [
2161
+ `Invalid ${z.red(n.key(t))} value.`,
2162
+ `Expected ${z.blue(r)},`,
2163
+ `but received ${e === Dt ? z.gray("nothing") : z.red(n.value(e))}.`
2164
+ ].join(" ");
2165
+ }
2166
+ function wn({ text: t, list: e }, r) {
2167
+ let n = [];
2168
+ return t && n.push(`- ${z.blue(t)}`), e && n.push([`- ${z.blue(e.title)}:`].concat(e.values.map((u) => wn(u, r - Bn.length).replace(/^|\n/g, `$&${Bn}`))).join(`
2169
+ `)), On(n, r);
2170
+ }
2171
+ function On(t, e) {
2172
+ if (t.length === 1) return t[0];
2173
+ let [r, n] = t, [u, o] = t.map((i) => i.split(`
2174
+ `, 1)[0].length);
2175
+ return u > e && u > o ? n : r;
2176
+ }
2177
+ var xe = [];
2178
+ var Wt = [];
2179
+ function at(t, e, r) {
2180
+ if (t === e) return 0;
2181
+ let n = r?.maxDistance, u = t;
2182
+ t.length > e.length && (t = e, e = u);
2183
+ let o = t.length, i = e.length;
2184
+ for (; o > 0 && t.charCodeAt(~-o) === e.charCodeAt(~-i);) o--, i--;
2185
+ let D = 0;
2186
+ for (; D < o && t.charCodeAt(D) === e.charCodeAt(D);) D++;
2187
+ if (o -= D, i -= D, n !== void 0 && i - o > n) return n;
2188
+ if (o === 0) return n !== void 0 && i > n ? n : i;
2189
+ let s, a, c, p, l = 0, m = 0;
2190
+ for (; l < o;) Wt[l] = t.charCodeAt(D + l), xe[l] = ++l;
2191
+ for (; m < i;) {
2192
+ for (s = e.charCodeAt(D + m), c = m++, a = m, l = 0; l < o; l++) p = s === Wt[l] ? c : c + 1, c = xe[l], a = xe[l] = c > a ? p > a ? a + 1 : p : p > c ? c + 1 : p;
2193
+ if (n !== void 0) {
2194
+ let f = a;
2195
+ for (l = 0; l < o; l++) xe[l] < f && (f = xe[l]);
2196
+ if (f > n) return n;
2197
+ }
2198
+ }
2199
+ return xe.length = o, Wt.length = o, n !== void 0 && a > n ? n : a;
2200
+ }
2201
+ function Pn(t, e, r) {
2202
+ if (!Array.isArray(e) || e.length === 0) return;
2203
+ let n = r?.maxDistance, u = t.length;
2204
+ for (let s of e) if (s === t) return s;
2205
+ if (n === 0) return;
2206
+ let o, i = Number.POSITIVE_INFINITY, D = /* @__PURE__ */ new Set();
2207
+ for (let s of e) {
2208
+ if (D.has(s)) continue;
2209
+ D.add(s);
2210
+ let a = Math.abs(s.length - u);
2211
+ if (a >= i || n !== void 0 && a > n) continue;
2212
+ let c = Number.isFinite(i) ? n === void 0 ? i : Math.min(i, n) : n, p = c === void 0 ? at(t, s) : at(t, s, { maxDistance: c });
2213
+ if (n !== void 0 && p > n) continue;
2214
+ let l = p;
2215
+ if (c !== void 0 && p === c && c === n && (l = at(t, s)), l < i && (i = l, o = s, i === 0)) break;
2216
+ }
2217
+ if (!(n !== void 0 && i > n)) return o;
2218
+ }
2219
+ var ct = (t, e, { descriptor: r, logger: n, schemas: u }) => {
2220
+ let o = [`Ignored unknown option ${z.yellow(r.pair({
2221
+ key: t,
2222
+ value: e
2223
+ }))}.`], i = Pn(t, Object.keys(u), { maxDistance: 3 });
2224
+ i && o.push(`Did you mean ${z.blue(r.key(i))}?`), n.warn(o.join(" "));
2225
+ };
2226
+ var Lo = [
2227
+ "default",
2228
+ "expected",
2229
+ "validate",
2230
+ "deprecated",
2231
+ "forward",
2232
+ "redirect",
2233
+ "overlap",
2234
+ "preprocess",
2235
+ "postprocess"
2236
+ ];
2237
+ function Mo(t, e) {
2238
+ let r = new t(e), n = Object.create(r);
2239
+ for (let u of Lo) u in e && (n[u] = Yo(e[u], r, O.prototype[u].length));
2240
+ return n;
2241
+ }
2242
+ var O = class {
2243
+ static create(e) {
2244
+ return Mo(this, e);
2245
+ }
2246
+ constructor(e) {
2247
+ this.name = e.name;
2248
+ }
2249
+ default(e) {}
2250
+ expected(e) {
2251
+ return "nothing";
2252
+ }
2253
+ validate(e, r) {
2254
+ return !1;
2255
+ }
2256
+ deprecated(e, r) {
2257
+ return !1;
2258
+ }
2259
+ forward(e, r) {}
2260
+ redirect(e, r) {}
2261
+ overlap(e, r, n) {
2262
+ return e;
2263
+ }
2264
+ preprocess(e, r) {
2265
+ return e;
2266
+ }
2267
+ postprocess(e, r) {
2268
+ return Ae;
2269
+ }
2270
+ };
2271
+ function Yo(t, e, r) {
2272
+ return typeof t == "function" ? (...n) => t(...n.slice(0, r - 1), e, ...n.slice(r - 1)) : () => t;
2273
+ }
2274
+ var ft = class extends O {
2275
+ constructor(e) {
2276
+ super(e), this._sourceName = e.sourceName;
2277
+ }
2278
+ expected(e) {
2279
+ return e.schemas[this._sourceName].expected(e);
2280
+ }
2281
+ validate(e, r) {
2282
+ return r.schemas[this._sourceName].validate(e, r);
2283
+ }
2284
+ redirect(e, r) {
2285
+ return this._sourceName;
2286
+ }
2287
+ };
2288
+ var lt = class extends O {
2289
+ expected() {
2290
+ return "anything";
2291
+ }
2292
+ validate() {
2293
+ return !0;
2294
+ }
2295
+ };
2296
+ var pt = class extends O {
2297
+ constructor({ valueSchema: e, name: r = e.name, ...n }) {
2298
+ super({
2299
+ ...n,
2300
+ name: r
2301
+ }), this._valueSchema = e;
2302
+ }
2303
+ expected(e) {
2304
+ let { text: r, list: n } = e.normalizeExpectedResult(this._valueSchema.expected(e));
2305
+ return {
2306
+ text: r && `an array of ${r}`,
2307
+ list: n && {
2308
+ title: "an array of the following values",
2309
+ values: [{ list: n }]
2310
+ }
2311
+ };
2312
+ }
2313
+ validate(e, r) {
2314
+ if (!Array.isArray(e)) return !1;
2315
+ let n = [];
2316
+ for (let u of e) {
2317
+ let o = r.normalizeValidateResult(this._valueSchema.validate(u, r), u);
2318
+ o !== !0 && n.push(o.value);
2319
+ }
2320
+ return n.length === 0 ? !0 : { value: n };
2321
+ }
2322
+ deprecated(e, r) {
2323
+ let n = [];
2324
+ for (let u of e) {
2325
+ let o = r.normalizeDeprecatedResult(this._valueSchema.deprecated(u, r), u);
2326
+ o !== !1 && n.push(...o.map(({ value: i }) => ({ value: [i] })));
2327
+ }
2328
+ return n;
2329
+ }
2330
+ forward(e, r) {
2331
+ let n = [];
2332
+ for (let u of e) {
2333
+ let o = r.normalizeForwardResult(this._valueSchema.forward(u, r), u);
2334
+ n.push(...o.map(Sn));
2335
+ }
2336
+ return n;
2337
+ }
2338
+ redirect(e, r) {
2339
+ let n = [], u = [];
2340
+ for (let o of e) {
2341
+ let i = r.normalizeRedirectResult(this._valueSchema.redirect(o, r), o);
2342
+ "remain" in i && n.push(i.remain), u.push(...i.redirect.map(Sn));
2343
+ }
2344
+ return n.length === 0 ? { redirect: u } : {
2345
+ redirect: u,
2346
+ remain: n
2347
+ };
2348
+ }
2349
+ overlap(e, r) {
2350
+ return e.concat(r);
2351
+ }
2352
+ };
2353
+ function Sn({ from: t, to: e }) {
2354
+ return {
2355
+ from: [t],
2356
+ to: e
2357
+ };
2358
+ }
2359
+ var mt = class extends O {
2360
+ expected() {
2361
+ return "true or false";
2362
+ }
2363
+ validate(e) {
2364
+ return typeof e == "boolean";
2365
+ }
2366
+ };
2367
+ function kn(t, e) {
2368
+ let r = Object.create(null);
2369
+ for (let n of t) {
2370
+ let u = n[e];
2371
+ if (r[u]) throw new Error(`Duplicate ${e} ${JSON.stringify(u)}`);
2372
+ r[u] = n;
2373
+ }
2374
+ return r;
2375
+ }
2376
+ function In(t, e) {
2377
+ let r = /* @__PURE__ */ new Map();
2378
+ for (let n of t) {
2379
+ let u = n[e];
2380
+ if (r.has(u)) throw new Error(`Duplicate ${e} ${JSON.stringify(u)}`);
2381
+ r.set(u, n);
2382
+ }
2383
+ return r;
2384
+ }
2385
+ function Rn() {
2386
+ let t = Object.create(null);
2387
+ return (e) => {
2388
+ let r = JSON.stringify(e);
2389
+ return t[r] ? !0 : (t[r] = !0, !1);
2390
+ };
2391
+ }
2392
+ function vn(t, e) {
2393
+ let r = [], n = [];
2394
+ for (let u of t) e(u) ? r.push(u) : n.push(u);
2395
+ return [r, n];
2396
+ }
2397
+ function Ln(t) {
2398
+ return t === Math.floor(t);
2399
+ }
2400
+ function Mn(t, e) {
2401
+ if (t === e) return 0;
2402
+ let r = typeof t, n = typeof e, u = [
2403
+ "undefined",
2404
+ "object",
2405
+ "boolean",
2406
+ "number",
2407
+ "string"
2408
+ ];
2409
+ return r !== n ? u.indexOf(r) - u.indexOf(n) : r !== "string" ? Number(t) - Number(e) : t.localeCompare(e);
2410
+ }
2411
+ function Yn(t) {
2412
+ return (...e) => {
2413
+ let r = t(...e);
2414
+ return typeof r == "string" ? new Error(r) : r;
2415
+ };
2416
+ }
2417
+ function $t(t) {
2418
+ return t === void 0 ? {} : t;
2419
+ }
2420
+ function zt(t) {
2421
+ if (typeof t == "string") return { text: t };
2422
+ let { text: e, list: r } = t;
2423
+ return jo((e || r) !== void 0, "Unexpected `expected` result, there should be at least one field."), r ? {
2424
+ text: e,
2425
+ list: {
2426
+ title: r.title,
2427
+ values: r.values.map(zt)
2428
+ }
2429
+ } : { text: e };
2430
+ }
2431
+ function Gt(t, e) {
2432
+ return t === !0 ? !0 : t === !1 ? { value: e } : t;
2433
+ }
2434
+ function Kt(t, e, r = !1) {
2435
+ return t === !1 ? !1 : t === !0 ? r ? !0 : [{ value: e }] : "value" in t ? [t] : t.length === 0 ? !1 : t;
2436
+ }
2437
+ function bn(t, e) {
2438
+ return typeof t == "string" || "key" in t ? {
2439
+ from: e,
2440
+ to: t
2441
+ } : "from" in t ? {
2442
+ from: t.from,
2443
+ to: t.to
2444
+ } : {
2445
+ from: e,
2446
+ to: t.to
2447
+ };
2448
+ }
2449
+ function dt(t, e) {
2450
+ return t === void 0 ? [] : Array.isArray(t) ? t.map((r) => bn(r, e)) : [bn(t, e)];
2451
+ }
2452
+ function Ht(t, e) {
2453
+ let r = dt(typeof t == "object" && "redirect" in t ? t.redirect : t, e);
2454
+ return r.length === 0 ? {
2455
+ remain: e,
2456
+ redirect: r
2457
+ } : typeof t == "object" && "remain" in t ? {
2458
+ remain: t.remain,
2459
+ redirect: r
2460
+ } : { redirect: r };
2461
+ }
2462
+ function jo(t, e) {
2463
+ if (!t) throw new Error(e);
2464
+ }
2465
+ var Ft = class extends O {
2466
+ constructor(e) {
2467
+ super(e), this._choices = In(e.choices.map((r) => r && typeof r == "object" ? r : { value: r }), "value");
2468
+ }
2469
+ expected({ descriptor: e }) {
2470
+ let r = Array.from(this._choices.keys()).map((i) => this._choices.get(i)).filter(({ hidden: i }) => !i).map((i) => i.value).sort(Mn).map(e.value), n = r.slice(0, -2), u = r.slice(-2);
2471
+ return {
2472
+ text: n.concat(u.join(" or ")).join(", "),
2473
+ list: {
2474
+ title: "one of the following values",
2475
+ values: r
2476
+ }
2477
+ };
2478
+ }
2479
+ validate(e) {
2480
+ return this._choices.has(e);
2481
+ }
2482
+ deprecated(e) {
2483
+ let r = this._choices.get(e);
2484
+ return r && r.deprecated ? { value: e } : !1;
2485
+ }
2486
+ forward(e) {
2487
+ let r = this._choices.get(e);
2488
+ return r ? r.forward : void 0;
2489
+ }
2490
+ redirect(e) {
2491
+ let r = this._choices.get(e);
2492
+ return r ? r.redirect : void 0;
2493
+ }
2494
+ };
2495
+ var Et = class extends O {
2496
+ expected() {
2497
+ return "a number";
2498
+ }
2499
+ validate(e, r) {
2500
+ return typeof e == "number";
2501
+ }
2502
+ };
2503
+ var Ct = class extends Et {
2504
+ expected() {
2505
+ return "an integer";
2506
+ }
2507
+ validate(e, r) {
2508
+ return r.normalizeValidateResult(super.validate(e, r), e) === !0 && Ln(e);
2509
+ }
2510
+ };
2511
+ var Ye = class extends O {
2512
+ expected() {
2513
+ return "a string";
2514
+ }
2515
+ validate(e) {
2516
+ return typeof e == "string";
2517
+ }
2518
+ };
2519
+ var jn = ie;
2520
+ var Un = ct;
2521
+ var Vn = Nn;
2522
+ var Wn = xn;
2523
+ var ht = class {
2524
+ constructor(e, r) {
2525
+ let { logger: n = console, loggerPrintWidth: u = 80, descriptor: o = jn, unknown: i = Un, invalid: D = Vn, deprecated: s = Wn, missing: a = () => !1, required: c = () => !1, preprocess: p = (m) => m, postprocess: l = () => Ae } = r || {};
2526
+ this._utils = {
2527
+ descriptor: o,
2528
+ logger: n || { warn: () => {} },
2529
+ loggerPrintWidth: u,
2530
+ schemas: kn(e, "name"),
2531
+ normalizeDefaultResult: $t,
2532
+ normalizeExpectedResult: zt,
2533
+ normalizeDeprecatedResult: Kt,
2534
+ normalizeForwardResult: dt,
2535
+ normalizeRedirectResult: Ht,
2536
+ normalizeValidateResult: Gt
2537
+ }, this._unknownHandler = i, this._invalidHandler = Yn(D), this._deprecatedHandler = s, this._identifyMissing = (m, f) => !(m in f) || a(m, f), this._identifyRequired = c, this._preprocess = p, this._postprocess = l, this.cleanHistory();
2538
+ }
2539
+ cleanHistory() {
2540
+ this._hasDeprecationWarned = Rn();
2541
+ }
2542
+ normalize(e) {
2543
+ let r = {}, u = [this._preprocess(e, this._utils)], o = () => {
2544
+ for (; u.length !== 0;) {
2545
+ let i = u.shift(), D = this._applyNormalization(i, r);
2546
+ u.push(...D);
2547
+ }
2548
+ };
2549
+ o();
2550
+ for (let i of Object.keys(this._utils.schemas)) {
2551
+ let D = this._utils.schemas[i];
2552
+ if (!(i in r)) {
2553
+ let s = $t(D.default(this._utils));
2554
+ "value" in s && u.push({ [i]: s.value });
2555
+ }
2556
+ }
2557
+ o();
2558
+ for (let i of Object.keys(this._utils.schemas)) {
2559
+ if (!(i in r)) continue;
2560
+ let D = this._utils.schemas[i], s = r[i], a = D.postprocess(s, this._utils);
2561
+ a !== Ae && (this._applyValidation(a, i, D), r[i] = a);
2562
+ }
2563
+ return this._applyPostprocess(r), this._applyRequiredCheck(r), r;
2564
+ }
2565
+ _applyNormalization(e, r) {
2566
+ let n = [], { knownKeys: u, unknownKeys: o } = this._partitionOptionKeys(e);
2567
+ for (let i of u) {
2568
+ let D = this._utils.schemas[i], s = D.preprocess(e[i], this._utils);
2569
+ this._applyValidation(s, i, D);
2570
+ let a = ({ from: m, to: f }) => {
2571
+ n.push(typeof f == "string" ? { [f]: m } : { [f.key]: f.value });
2572
+ }, c = ({ value: m, redirectTo: f }) => {
2573
+ let F = Kt(D.deprecated(m, this._utils), s, !0);
2574
+ if (F !== !1) if (F === !0) this._hasDeprecationWarned(i) || this._utils.logger.warn(this._deprecatedHandler(i, f, this._utils));
2575
+ else for (let { value: d } of F) {
2576
+ let E = {
2577
+ key: i,
2578
+ value: d
2579
+ };
2580
+ if (!this._hasDeprecationWarned(E)) {
2581
+ let C = typeof f == "string" ? {
2582
+ key: f,
2583
+ value: d
2584
+ } : f;
2585
+ this._utils.logger.warn(this._deprecatedHandler(E, C, this._utils));
2586
+ }
2587
+ }
2588
+ };
2589
+ dt(D.forward(s, this._utils), s).forEach(a);
2590
+ let l = Ht(D.redirect(s, this._utils), s);
2591
+ if (l.redirect.forEach(a), "remain" in l) {
2592
+ let m = l.remain;
2593
+ r[i] = i in r ? D.overlap(r[i], m, this._utils) : m, c({ value: m });
2594
+ }
2595
+ for (let { from: m, to: f } of l.redirect) c({
2596
+ value: m,
2597
+ redirectTo: f
2598
+ });
2599
+ }
2600
+ for (let i of o) {
2601
+ let D = e[i];
2602
+ this._applyUnknownHandler(i, D, r, (s, a) => {
2603
+ n.push({ [s]: a });
2604
+ });
2605
+ }
2606
+ return n;
2607
+ }
2608
+ _applyRequiredCheck(e) {
2609
+ for (let r of Object.keys(this._utils.schemas)) if (this._identifyMissing(r, e) && this._identifyRequired(r)) throw this._invalidHandler(r, Dt, this._utils);
2610
+ }
2611
+ _partitionOptionKeys(e) {
2612
+ let [r, n] = vn(Object.keys(e).filter((u) => !this._identifyMissing(u, e)), (u) => u in this._utils.schemas);
2613
+ return {
2614
+ knownKeys: r,
2615
+ unknownKeys: n
2616
+ };
2617
+ }
2618
+ _applyValidation(e, r, n) {
2619
+ let u = Gt(n.validate(e, this._utils), e);
2620
+ if (u !== !0) throw this._invalidHandler(r, u.value, this._utils);
2621
+ }
2622
+ _applyUnknownHandler(e, r, n, u) {
2623
+ let o = this._unknownHandler(e, r, this._utils);
2624
+ if (o) for (let i of Object.keys(o)) {
2625
+ if (this._identifyMissing(i, o)) continue;
2626
+ let D = o[i];
2627
+ i in this._utils.schemas ? u(i, D) : n[i] = D;
2628
+ }
2629
+ }
2630
+ _applyPostprocess(e) {
2631
+ let r = this._postprocess(e, this._utils);
2632
+ if (r !== Ae) {
2633
+ if (r.delete) for (let n of r.delete) delete e[n];
2634
+ if (r.override) {
2635
+ let { knownKeys: n, unknownKeys: u } = this._partitionOptionKeys(r.override);
2636
+ for (let o of n) {
2637
+ let i = r.override[o];
2638
+ this._applyValidation(i, o, this._utils.schemas[o]), e[o] = i;
2639
+ }
2640
+ for (let o of u) {
2641
+ let i = r.override[o];
2642
+ this._applyUnknownHandler(o, i, e, (D, s) => {
2643
+ let a = this._utils.schemas[D];
2644
+ this._applyValidation(s, D, a), e[D] = s;
2645
+ });
2646
+ }
2647
+ }
2648
+ }
2649
+ }
2650
+ };
2651
+ var Jt;
2652
+ function Uo(t, e, { logger: r = !1, isCLI: n = !1, passThrough: u = !1, FlagSchema: o, descriptor: i } = {}) {
2653
+ if (n) {
2654
+ if (!o) throw new Error("'FlagSchema' option is required.");
2655
+ if (!i) throw new Error("'descriptor' option is required.");
2656
+ } else i = ie;
2657
+ let D = u ? Array.isArray(u) ? (l, m) => u.includes(l) ? { [l]: m } : void 0 : (l, m) => ({ [l]: m }) : (l, m, f) => {
2658
+ let { _: F, ...d } = f.schemas;
2659
+ return ct(l, m, {
2660
+ ...f,
2661
+ schemas: d
2662
+ });
2663
+ }, a = new ht(Vo(e, {
2664
+ isCLI: n,
2665
+ FlagSchema: o
2666
+ }), {
2667
+ logger: r,
2668
+ unknown: D,
2669
+ descriptor: i
2670
+ }), c = r !== !1;
2671
+ c && Jt && (a._hasDeprecationWarned = Jt);
2672
+ let p = a.normalize(t);
2673
+ return c && (Jt = a._hasDeprecationWarned), p;
2674
+ }
2675
+ function Vo(t, { isCLI: e, FlagSchema: r }) {
2676
+ let n = [];
2677
+ e && n.push(lt.create({ name: "_" }));
2678
+ for (let u of t) n.push(Wo(u, {
2679
+ isCLI: e,
2680
+ optionInfos: t,
2681
+ FlagSchema: r
2682
+ })), u.alias && e && n.push(ft.create({
2683
+ name: u.alias,
2684
+ sourceName: u.name
2685
+ }));
2686
+ return n;
2687
+ }
2688
+ function Wo(t, { isCLI: e, optionInfos: r, FlagSchema: n }) {
2689
+ let { name: u } = t, o = { name: u }, i, D = {};
2690
+ switch (t.type) {
2691
+ case "int":
2692
+ i = Ct, e && (o.preprocess = Number);
2693
+ break;
2694
+ case "string":
2695
+ i = Ye;
2696
+ break;
2697
+ case "choice":
2698
+ i = Ft, o.choices = t.choices.map((s) => s?.redirect ? {
2699
+ ...s,
2700
+ redirect: { to: {
2701
+ key: t.name,
2702
+ value: s.redirect
2703
+ } }
2704
+ } : s);
2705
+ break;
2706
+ case "boolean":
2707
+ i = mt;
2708
+ break;
2709
+ case "flag":
2710
+ i = n, o.flags = r.flatMap((s) => [
2711
+ s.alias,
2712
+ s.description && s.name,
2713
+ s.oppositeDescription && `no-${s.name}`
2714
+ ].filter(Boolean));
2715
+ break;
2716
+ case "path":
2717
+ i = Ye;
2718
+ break;
2719
+ default: throw new Error(`Unexpected type ${t.type}`);
2720
+ }
2721
+ if (t.exception ? o.validate = (s, a, c) => t.exception(s) || a.validate(s, c) : o.validate = (s, a, c) => s === void 0 || a.validate(s, c), t.redirect && (D.redirect = (s) => s ? { to: typeof t.redirect == "string" ? t.redirect : {
2722
+ key: t.redirect.option,
2723
+ value: t.redirect.value
2724
+ } } : void 0), t.deprecated && (D.deprecated = !0), e && !t.array) {
2725
+ let s = o.preprocess || ((a) => a);
2726
+ o.preprocess = (a, c, p) => c.preprocess(s(Array.isArray(a) ? y(0, a, -1) : a), p);
2727
+ }
2728
+ return t.array ? pt.create({
2729
+ ...e ? { preprocess: (s) => Array.isArray(s) ? s : [s] } : {},
2730
+ ...D,
2731
+ valueSchema: i.create(o)
2732
+ }) : i.create({
2733
+ ...o,
2734
+ ...D
2735
+ });
2736
+ }
2737
+ var $n = Uo;
2738
+ var $o = Array.prototype.findLast ?? function(t) {
2739
+ for (let e = this.length - 1; e >= 0; e--) {
2740
+ let r = this[e];
2741
+ if (t(r, e, this)) return r;
2742
+ }
2743
+ };
2744
+ var qt = X("findLast", function() {
2745
+ if (Array.isArray(this)) return $o;
2746
+ });
2747
+ var zn = Symbol.for("PRETTIER_IS_FRONT_MATTER");
2748
+ var Xt = [];
2749
+ function Go(t) {
2750
+ return !!t?.[zn];
2751
+ }
2752
+ var pe = Go;
2753
+ var Gn = /* @__PURE__ */ new Set(["yaml", "toml"]);
2754
+ var je = ({ node: t }) => pe(t) && Gn.has(t.language);
2755
+ async function Qt(t, e, r, n) {
2756
+ let { node: u } = r, { language: o } = u;
2757
+ if (!Gn.has(o)) return;
2758
+ let i = u.value.trim(), D;
2759
+ if (i) {
2760
+ let s = o === "yaml" ? o : st(n, { language: o });
2761
+ if (!s) return;
2762
+ D = i ? await t(i, { parser: s }) : "";
2763
+ } else D = i;
2764
+ return Xe([
2765
+ u.startDelimiter,
2766
+ u.explicitLanguage ?? "",
2767
+ W,
2768
+ D,
2769
+ D ? W : "",
2770
+ u.endDelimiter
2771
+ ]);
2772
+ }
2773
+ function Ko(t, e) {
2774
+ return je({ node: t }) && (delete e.end, delete e.raw, delete e.value), e;
2775
+ }
2776
+ var Zt = Ko;
2777
+ function Ho({ node: t }) {
2778
+ return t.raw;
2779
+ }
2780
+ var er = Ho;
2781
+ var Kn = /* @__PURE__ */ new Set([
2782
+ "tokens",
2783
+ "comments",
2784
+ "parent",
2785
+ "enclosingNode",
2786
+ "precedingNode",
2787
+ "followingNode"
2788
+ ]);
2789
+ var Jo = (t) => Object.keys(t).filter((e) => !Kn.has(e));
2790
+ function qo(t, e) {
2791
+ let r = t ? (n) => t(n, Kn) : Jo;
2792
+ return e ? new Proxy(r, { apply: (n, u, o) => pe(o[0]) ? Xt : Reflect.apply(n, u, o) }) : r;
2793
+ }
2794
+ var tr = qo;
2795
+ function rr(t, e) {
2796
+ if (!e) throw new Error("parserName is required.");
2797
+ let r = qt(0, t, (u) => u.parsers && le(u.parsers, e));
2798
+ if (r) return r;
2799
+ let n = `Couldn't resolve parser "${e}".`;
2800
+ throw n += " Plugins must be explicitly added to the standalone bundle.", new Le(n);
2801
+ }
2802
+ function Hn(t, e) {
2803
+ if (!e) throw new Error("astFormat is required.");
2804
+ let r = qt(0, t, (u) => u.printers && le(u.printers, e));
2805
+ if (r) return r;
2806
+ let n = `Couldn't find plugin for AST format "${e}".`;
2807
+ throw n += " Plugins must be explicitly added to the standalone bundle.", new Le(n);
2808
+ }
2809
+ function Ue({ plugins: t, parser: e }) {
2810
+ return nr(rr(t, e), e);
2811
+ }
2812
+ function nr(t, e) {
2813
+ let r = t.parsers[e];
2814
+ return typeof r == "function" ? r() : r;
2815
+ }
2816
+ async function Jn(t, e) {
2817
+ let r = t.printers[e];
2818
+ return Zo(typeof r == "function" ? await r() : r);
2819
+ }
2820
+ function Xo(t) {
2821
+ let { features: e, getVisitorKeys: r, embed: n, massageAstNode: u, print: o, ...i } = t;
2822
+ e = ni(e);
2823
+ let D = e.experimental_frontMatterSupport;
2824
+ r = tr(r, D.massageAstNode || D.embed || D.print);
2825
+ let s = u;
2826
+ u && D.massageAstNode && (s = new Proxy(u, { apply(l, m, f) {
2827
+ return Zt(...f), Reflect.apply(l, m, f);
2828
+ } }));
2829
+ let a = n;
2830
+ if (n) {
2831
+ let l;
2832
+ a = new Proxy(n, {
2833
+ get(m, f, F) {
2834
+ return f === "getVisitorKeys" ? (l ?? (l = n.getVisitorKeys ? tr(n.getVisitorKeys, D.massageAstNode || D.embed) : r), l) : Reflect.get(m, f, F);
2835
+ },
2836
+ apply: (m, f, F) => D.embed && je(...F) ? Qt : Reflect.apply(m, f, F)
2837
+ });
2838
+ }
2839
+ let c = o;
2840
+ return D.print && (c = new Proxy(o, { apply(l, m, f) {
2841
+ let [F] = f;
2842
+ return pe(F.node) ? er(F) : Reflect.apply(l, m, f);
2843
+ } })), {
2844
+ features: e,
2845
+ getVisitorKeys: r,
2846
+ embed: a,
2847
+ massageAstNode: s,
2848
+ print: c,
2849
+ ...i
2850
+ };
2851
+ }
2852
+ var Qo = /* @__PURE__ */ new WeakMap();
2853
+ function Zo(t) {
2854
+ return Fe(Qo, t, Xo);
2855
+ }
2856
+ var ti = Object.fromEntries([
2857
+ "clean",
2858
+ "embed",
2859
+ "print"
2860
+ ].map((t) => [t, !1]));
2861
+ function ri(t) {
2862
+ return {
2863
+ ...ti,
2864
+ ...t
2865
+ };
2866
+ }
2867
+ function ni(t) {
2868
+ return {
2869
+ experimental_avoidAstMutation: !1,
2870
+ ...t,
2871
+ experimental_frontMatterSupport: ri(t?.experimental_frontMatterSupport)
2872
+ };
2873
+ }
2874
+ var qn = {
2875
+ astFormat: "estree",
2876
+ printer: {},
2877
+ originalText: void 0,
2878
+ locStart: null,
2879
+ locEnd: null,
2880
+ getVisitorKeys: null
2881
+ };
2882
+ async function ui(t, e = {}) {
2883
+ let r = { ...t };
2884
+ if (!r.parser) {
2885
+ if (!r.filepath) throw new Me("No parser and no file path given, couldn't infer a parser.");
2886
+ if (r.parser = st(r, { physicalFile: r.filepath }), !r.parser) throw new Me(`No parser could be inferred for file "${r.filepath}".`);
2887
+ }
2888
+ let n = it({
2889
+ plugins: t.plugins,
2890
+ showDeprecated: !0
2891
+ }).options, u = {
2892
+ ...qn,
2893
+ ...Object.fromEntries(n.filter((p) => p.default !== void 0).map((p) => [p.name, p.default]))
2894
+ }, o = rr(r.plugins, r.parser), i = await nr(o, r.parser);
2895
+ r.astFormat = i.astFormat, r.locEnd = i.locEnd, r.locStart = i.locStart;
2896
+ let D = o.printers?.[i.astFormat] ? o : Hn(r.plugins, i.astFormat), s = await Jn(D, i.astFormat);
2897
+ r.printer = s, r.getVisitorKeys = s.getVisitorKeys;
2898
+ let a = D.defaultOptions ? Object.fromEntries(Object.entries(D.defaultOptions).filter(([, p]) => p !== void 0)) : {}, c = {
2899
+ ...u,
2900
+ ...a
2901
+ };
2902
+ for (let [p, l] of Object.entries(c)) r[p] ?? (r[p] = l);
2903
+ return r.parser === "json" && (r.trailingComma = "none"), $n(r, n, {
2904
+ passThrough: Object.keys(qn),
2905
+ ...e
2906
+ });
2907
+ }
2908
+ var se = ui;
2909
+ var Xn = /\r\n|[\n\r\u2028\u2029]/;
2910
+ function oi(t, e, r, n) {
2911
+ let u = {
2912
+ column: null,
2913
+ line: -1,
2914
+ ...t.start
2915
+ }, o = {
2916
+ ...u,
2917
+ ...t.end
2918
+ }, { linesAbove: i = 2, linesBelow: D = 3 } = r || {}, s = u.line - n, a = u.column, c = o.line - n, p = o.column, l = Math.max(s - (i + 1), 0), m = Math.min(e.length, c + D);
2919
+ s === -1 && (l = 0), c === -1 && (m = e.length);
2920
+ let f = c - s, F = {};
2921
+ if (f) for (let d = 0; d <= f; d++) {
2922
+ let E = d + s;
2923
+ if (a == null) F[E] = !0;
2924
+ else if (d === 0) F[E] = [a, e[E - 1].length - a];
2925
+ else if (d === f) F[E] = [0, p];
2926
+ else F[E] = [0, e[E - 1].length];
2927
+ }
2928
+ else if (a === p) a != null ? F[s] = [a, 0] : F[s] = !0;
2929
+ else {
2930
+ let d = a ?? 0;
2931
+ F[s] = [d, (p ?? d) - d];
2932
+ }
2933
+ return {
2934
+ start: l,
2935
+ end: m,
2936
+ markerLines: F
2937
+ };
2938
+ }
2939
+ function Qn(t, e, r = {}, n) {
2940
+ let { defs: u, highlight: o } = n || {
2941
+ defs: {
2942
+ gutter: String,
2943
+ marker: String,
2944
+ message: String,
2945
+ reset: String
2946
+ },
2947
+ highlight: String
2948
+ }, i = (r.startLine || 1) - 1, { start: s, end: a, markerLines: c } = oi(e, t.split(Xn), r, i), p = e.start && typeof e.start.column == "number", l = String(a + i).length, f = o(t).split(Xn, a).slice(s, a).map((F, d) => {
2949
+ let E = s + 1 + d, h = ` ${` ${E + i}`.slice(-l)} |`, _ = c[E], P = !c[E + 1];
2950
+ if (_) {
2951
+ let A = "";
2952
+ if (Array.isArray(_)) {
2953
+ let B = F.slice(0, _[0]).replace(/[^\t]/g, " "), J = _[1] || 1;
2954
+ A = [
2955
+ `
2956
+ `,
2957
+ u.gutter(h.replace(/\d/g, " ")),
2958
+ " ",
2959
+ B,
2960
+ u.marker("^").repeat(J)
2961
+ ].join(""), P && r.message && (A += " " + u.message(r.message));
2962
+ }
2963
+ return [
2964
+ u.marker(">"),
2965
+ u.gutter(h),
2966
+ F.length > 0 ? ` ${F}` : "",
2967
+ A
2968
+ ].join("");
2969
+ } else return ` ${u.gutter(h)}${F.length > 0 ? ` ${F}` : ""}`;
2970
+ }).join(`
2971
+ `);
2972
+ return r.message && !p && (f = `${" ".repeat(l + 1)}${r.message}
2973
+ ${f}`), u.reset(f);
2974
+ }
2975
+ function Zn(t, e, r = {}) {
2976
+ return Qn(t, e, r);
2977
+ }
2978
+ async function ii(t, e) {
2979
+ let r = await Ue(e), n = r.preprocess ? await r.preprocess(t, e) : t;
2980
+ e.originalText = n;
2981
+ let u;
2982
+ try {
2983
+ u = await r.parse(n, e, e);
2984
+ } catch (o) {
2985
+ si(o, t);
2986
+ }
2987
+ return {
2988
+ text: n,
2989
+ ast: u
2990
+ };
2991
+ }
2992
+ function si(t, e) {
2993
+ let { loc: r } = t;
2994
+ if (r) {
2995
+ let { start: n, end: u } = r;
2996
+ n && (n = {
2997
+ line: n.line,
2998
+ column: n.column - 1
2999
+ }), u && (u = {
3000
+ line: u.line,
3001
+ column: u.column - 1
3002
+ });
3003
+ let o = Zn(e, {
3004
+ start: n,
3005
+ end: u
3006
+ }, { highlightCode: !0 });
3007
+ t.message += `
3008
+ ` + o, t.codeFrame = o;
3009
+ }
3010
+ throw t;
3011
+ }
3012
+ var me = ii;
3013
+ async function eu(t, e, r, n, u) {
3014
+ if (r.embeddedLanguageFormatting !== "auto") return;
3015
+ let { printer: o } = r, { embed: i } = o;
3016
+ if (!i) return;
3017
+ if (i.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");
3018
+ let { hasPrettierIgnore: D } = o, { getVisitorKeys: s } = i, a = [];
3019
+ l();
3020
+ let c = t.stack;
3021
+ for (let { print: m, node: f, pathStack: F } of a) try {
3022
+ t.stack = F;
3023
+ let d = await m(p, e, t, r);
3024
+ d && u.set(f, d);
3025
+ } catch (d) {
3026
+ if (globalThis.PRETTIER_DEBUG) throw d;
3027
+ }
3028
+ t.stack = c;
3029
+ function p(m, f) {
3030
+ return Di(m, f, r, n);
3031
+ }
3032
+ function l() {
3033
+ let { node: m } = t;
3034
+ if (m === null || typeof m != "object" || D?.(t)) return;
3035
+ for (let F of s(m)) Array.isArray(m[F]) ? t.each(l, F) : t.call(l, F);
3036
+ let f = i(t, r);
3037
+ if (f) {
3038
+ if (typeof f == "function") {
3039
+ a.push({
3040
+ print: f,
3041
+ node: m,
3042
+ pathStack: [...t.stack]
3043
+ });
3044
+ return;
3045
+ }
3046
+ u.set(m, f);
3047
+ }
3048
+ }
3049
+ }
3050
+ async function Di(t, e, r, n) {
3051
+ let u = await se({
3052
+ ...r,
3053
+ ...e,
3054
+ parentParser: r.parser,
3055
+ originalText: t,
3056
+ cursorOffset: void 0,
3057
+ rangeStart: void 0,
3058
+ rangeEnd: void 0
3059
+ }, { passThrough: !0 }), { ast: o } = await me(t, u);
3060
+ return He(await n(o, u));
3061
+ }
3062
+ function ai(t, e, r, n) {
3063
+ let { originalText: u, [ue]: o, locStart: i, locEnd: D, [Symbol.for("printedComments")]: s } = e, { node: a } = t, c = i(a), p = D(a);
3064
+ for (let m of o) i(m) >= c && D(m) <= p && s.add(m);
3065
+ let { printPrettierIgnored: l } = e.printer;
3066
+ return l ? l(t, e, r, n) : u.slice(c, p);
3067
+ }
3068
+ var tu = ai;
3069
+ async function Ve(t, e) {
3070
+ ({ast: t} = await ur(t, e));
3071
+ let r = /* @__PURE__ */ new Map(), n = new en(t), u = dn(e), o = /* @__PURE__ */ new Map();
3072
+ await eu(n, D, e, Ve, o);
3073
+ let i = await ru(n, e, D, void 0, o);
3074
+ if (mn(e), e.cursorOffset >= 0) {
3075
+ if (e.nodeAfterCursor && !e.nodeBeforeCursor) return [ee, i];
3076
+ if (e.nodeBeforeCursor && !e.nodeAfterCursor) return [i, ee];
3077
+ }
3078
+ return i;
3079
+ function D(a, c) {
3080
+ return a === void 0 || a === n ? s(c) : Array.isArray(a) ? n.call(() => s(c), ...a) : n.call(() => s(c), a);
3081
+ }
3082
+ function s(a) {
3083
+ u(n);
3084
+ let c = n.node;
3085
+ if (c == null) return "";
3086
+ let p = ge(c) && a === void 0;
3087
+ if (p && r.has(c)) return r.get(c);
3088
+ let l = ru(n, e, D, a, o);
3089
+ return p && r.set(c, l), l;
3090
+ }
3091
+ }
3092
+ function ru(t, e, r, n, u) {
3093
+ let { node: o } = t, { printer: i } = e, D;
3094
+ switch (i.hasPrettierIgnore?.(t) ? D = tu(t, e, r, n) : u.has(o) ? D = u.get(o) : D = i.print(t, e, r, n), o) {
3095
+ case e.cursorNode:
3096
+ D = Ee(D, (s) => [
3097
+ ee,
3098
+ s,
3099
+ ee
3100
+ ]);
3101
+ break;
3102
+ case e.nodeBeforeCursor:
3103
+ D = Ee(D, (s) => [s, ee]);
3104
+ break;
3105
+ case e.nodeAfterCursor: D = Ee(D, (s) => [ee, s]);
3106
+ }
3107
+ return i.printComment && rt(o.comments) && !i.willPrintOwnComments?.(t, e) && (D = pn(t, D, e)), D;
3108
+ }
3109
+ async function ur(t, e) {
3110
+ let r = t.comments ?? [];
3111
+ e[ue] = r, e[Symbol.for("printedComments")] = /* @__PURE__ */ new Set(), an(t, e);
3112
+ let { printer: { preprocess: n } } = e;
3113
+ return t = n ? await n(t, e) : t, {
3114
+ ast: t,
3115
+ comments: r
3116
+ };
3117
+ }
3118
+ function ci(t, e) {
3119
+ let { cursorOffset: r, locStart: n, locEnd: u, getVisitorKeys: o } = e, i = (m) => n(m) <= r && u(m) >= r, D = t, s = [t];
3120
+ for (let m of nn(t, {
3121
+ getVisitorKeys: o,
3122
+ filter: i
3123
+ })) s.push(m), D = m;
3124
+ if (un(D, { getVisitorKeys: o })) return { cursorNode: D };
3125
+ let a, c, p = -1, l = Number.POSITIVE_INFINITY;
3126
+ for (; s.length > 0 && (a === void 0 || c === void 0);) {
3127
+ D = s.pop();
3128
+ let m = a !== void 0, f = c !== void 0;
3129
+ for (let F of ye(D, { getVisitorKeys: o })) {
3130
+ if (!m) {
3131
+ let d = u(F);
3132
+ d <= r && d > p && (a = F, p = d);
3133
+ }
3134
+ if (!f) {
3135
+ let d = n(F);
3136
+ d >= r && d < l && (c = F, l = d);
3137
+ }
3138
+ }
3139
+ }
3140
+ return {
3141
+ nodeBeforeCursor: a,
3142
+ nodeAfterCursor: c
3143
+ };
3144
+ }
3145
+ var or = ci;
3146
+ function fi(t, e) {
3147
+ let { printer: r } = e, n = r.massageAstNode;
3148
+ if (!n) return t;
3149
+ let { getVisitorKeys: u } = r, { ignoredProperties: o } = n;
3150
+ return i(t);
3151
+ function i(D, s) {
3152
+ if (!ge(D)) return D;
3153
+ if (Array.isArray(D)) return D.map((l) => i(l, s)).filter(Boolean);
3154
+ let a = {}, c = new Set(u(D));
3155
+ for (let l in D) !le(D, l) || o?.has(l) || (c.has(l) ? a[l] = i(D[l], D) : a[l] = D[l]);
3156
+ let p = n(D, a, s);
3157
+ if (p !== null) return p ?? a;
3158
+ }
3159
+ }
3160
+ var nu = fi;
3161
+ var li = Array.prototype.findLastIndex ?? function(t) {
3162
+ for (let e = this.length - 1; e >= 0; e--) {
3163
+ let r = this[e];
3164
+ if (t(r, e, this)) return e;
3165
+ }
3166
+ return -1;
3167
+ };
3168
+ var uu = X("findLastIndex", function() {
3169
+ if (Array.isArray(this)) return li;
3170
+ });
3171
+ function mi(t, e) {
3172
+ return e = new Set(e), t.find((r) => su.has(r.type) && e.has(r));
3173
+ }
3174
+ function ou(t) {
3175
+ let e = uu(0, t, (r) => r.type !== "Program" && r.type !== "File");
3176
+ return e === -1 ? t : t.slice(0, e + 1);
3177
+ }
3178
+ function di(t, e, { locStart: r, locEnd: n }) {
3179
+ let [u, ...o] = t, [i, ...D] = e;
3180
+ if (u === i) return [u, i];
3181
+ let s = r(u);
3182
+ for (let c of ou(D)) if (r(c) >= s) i = c;
3183
+ else break;
3184
+ let a = n(i);
3185
+ for (let c of ou(o)) {
3186
+ if (n(c) <= a) u = c;
3187
+ else break;
3188
+ if (u === i) break;
3189
+ }
3190
+ return [u, i];
3191
+ }
3192
+ function ir(t, e, r, n, u = [], o, i) {
3193
+ let { locStart: D, locEnd: s } = i, a = D(t), c = s(t);
3194
+ if (e > c || e < a || o === "rangeEnd" && e === a || o === "rangeStart" && e === c) return;
3195
+ let p = [t, ...u], l = ot(t, p, {
3196
+ cache: Ut,
3197
+ locStart: D,
3198
+ locEnd: s,
3199
+ getVisitorKeys: r.getVisitorKeys,
3200
+ filter: r.printer.canAttachComment,
3201
+ getChildren: r.printer.getCommentChildNodes
3202
+ });
3203
+ for (let m of l) {
3204
+ let f = ir(m, e, r, n, p, o, i);
3205
+ if (f) return f;
3206
+ }
3207
+ if (n(t, u[0])) return p;
3208
+ }
3209
+ function Fi(t, e) {
3210
+ return e !== "DeclareExportDeclaration" && t !== "TypeParameterDeclaration" && (t === "Directive" || t === "TypeAlias" || t === "TSExportAssignment" || t.startsWith("Declare") || t.startsWith("TSDeclare") || t.endsWith("Statement") || t.endsWith("Declaration"));
3211
+ }
3212
+ var su = /* @__PURE__ */ new Set([
3213
+ "JsonRoot",
3214
+ "ObjectExpression",
3215
+ "ArrayExpression",
3216
+ "StringLiteral",
3217
+ "NumericLiteral",
3218
+ "BooleanLiteral",
3219
+ "NullLiteral",
3220
+ "UnaryExpression",
3221
+ "TemplateLiteral"
3222
+ ]);
3223
+ var Ei = /* @__PURE__ */ new Set([
3224
+ "OperationDefinition",
3225
+ "FragmentDefinition",
3226
+ "VariableDefinition",
3227
+ "TypeExtensionDefinition",
3228
+ "ObjectTypeDefinition",
3229
+ "FieldDefinition",
3230
+ "DirectiveDefinition",
3231
+ "EnumTypeDefinition",
3232
+ "EnumValueDefinition",
3233
+ "InputValueDefinition",
3234
+ "InputObjectTypeDefinition",
3235
+ "SchemaDefinition",
3236
+ "OperationTypeDefinition",
3237
+ "InterfaceTypeDefinition",
3238
+ "UnionTypeDefinition",
3239
+ "ScalarTypeDefinition"
3240
+ ]);
3241
+ function iu(t, e, r) {
3242
+ if (!e) return !1;
3243
+ switch (t.parser) {
3244
+ case "flow":
3245
+ case "hermes":
3246
+ case "babel":
3247
+ case "babel-flow":
3248
+ case "babel-ts":
3249
+ case "typescript":
3250
+ case "acorn":
3251
+ case "espree":
3252
+ case "meriyah":
3253
+ case "oxc":
3254
+ case "oxc-ts":
3255
+ case "yuku":
3256
+ case "yuku-ts":
3257
+ case "__babel_estree": return Fi(e.type, r?.type);
3258
+ case "json":
3259
+ case "json5":
3260
+ case "jsonc":
3261
+ case "json-stringify": return su.has(e.type);
3262
+ case "graphql": return Ei.has(e.kind);
3263
+ case "vue": return e.tag !== "root";
3264
+ }
3265
+ return !1;
3266
+ }
3267
+ function Du(t, e, r) {
3268
+ let { rangeStart: n, rangeEnd: u } = e;
3269
+ k(u > n);
3270
+ let o = t.slice(n, u).search(/\S/), i = o === -1;
3271
+ if (!i) for (n += o; u > n && !/\S/.test(t[u - 1]); --u);
3272
+ let D = e.printer.features?.experimental_locForRangeFormat ?? e, s = ir(r, n, e, (f, F) => iu(e, f, F), [], "rangeStart", D);
3273
+ if (!s) return;
3274
+ let a = i ? s : ir(r, u, e, (f) => iu(e, f), [], "rangeEnd", D);
3275
+ if (!a) return;
3276
+ let c, p;
3277
+ if (r.type === "JsonRoot") {
3278
+ let f = mi(s, a);
3279
+ c = f, p = f;
3280
+ } else [c, p] = di(s, a, e);
3281
+ let { locStart: l, locEnd: m } = D;
3282
+ return [Math.min(l(c), l(p)), Math.max(m(c), m(p))];
3283
+ }
3284
+ var lu = "";
3285
+ var au = Symbol("cursor");
3286
+ async function pu(t, e, r = 0) {
3287
+ if (!t || t.trim().length === 0) return {
3288
+ formatted: "",
3289
+ cursorOffset: -1,
3290
+ comments: []
3291
+ };
3292
+ let { ast: n, text: u } = await me(t, e);
3293
+ e.cursorOffset >= 0 && (e = {
3294
+ ...e,
3295
+ ...or(n, e)
3296
+ });
3297
+ let o = await Ve(n, e, r);
3298
+ r > 0 && (o = Qe([W, o], r, e.tabWidth));
3299
+ let i = Ce(o, e);
3300
+ if (r > 0) {
3301
+ let s = i.formatted.trim();
3302
+ i.cursorNodeStart !== void 0 && (i.cursorNodeStart -= i.formatted.indexOf(s), i.cursorNodeStart < 0 && (i.cursorNodeStart = 0, i.cursorNodeText = i.cursorNodeText.trimStart()), i.cursorNodeStart + i.cursorNodeText.length > s.length && (i.cursorNodeText = i.cursorNodeText.trimEnd())), i.formatted = s + we(e.endOfLine);
3303
+ }
3304
+ let D = e[ue];
3305
+ if (e.cursorOffset >= 0) {
3306
+ let s, a, c, p;
3307
+ if ((e.cursorNode || e.nodeBeforeCursor || e.nodeAfterCursor) && i.cursorNodeText) if (c = i.cursorNodeStart, p = i.cursorNodeText, e.cursorNode) s = e.locStart(e.cursorNode), a = u.slice(s, e.locEnd(e.cursorNode));
3308
+ else {
3309
+ if (!e.nodeBeforeCursor && !e.nodeAfterCursor) throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");
3310
+ s = e.nodeBeforeCursor ? e.locEnd(e.nodeBeforeCursor) : 0;
3311
+ let E = e.nodeAfterCursor ? e.locStart(e.nodeAfterCursor) : u.length;
3312
+ a = u.slice(s, E);
3313
+ }
3314
+ else s = 0, a = u, c = 0, p = i.formatted;
3315
+ let l = e.cursorOffset - s;
3316
+ if (a === p) return {
3317
+ formatted: i.formatted,
3318
+ cursorOffset: c + l,
3319
+ comments: D
3320
+ };
3321
+ let m = a.split("");
3322
+ m.splice(l, 0, au);
3323
+ let F = xt(m, p.split("")), d = c;
3324
+ for (let E of F) if (E.removed) {
3325
+ if (E.value.includes(au)) break;
3326
+ } else d += E.count;
3327
+ return {
3328
+ formatted: i.formatted,
3329
+ cursorOffset: d,
3330
+ comments: D
3331
+ };
3332
+ }
3333
+ return {
3334
+ formatted: i.formatted,
3335
+ cursorOffset: -1,
3336
+ comments: D
3337
+ };
3338
+ }
3339
+ async function Ci(t, e) {
3340
+ let { ast: r, text: n } = await me(t, e), [u, o] = Du(n, e, r) ?? [0, 0], i = n.slice(u, o), D = Math.min(u, n.lastIndexOf(`
3341
+ `, u) + 1), s = n.slice(D, u).match(/^\s*/)[0], a = he(s, e.tabWidth), c = await pu(i, {
3342
+ ...e,
3343
+ rangeStart: 0,
3344
+ rangeEnd: Number.POSITIVE_INFINITY,
3345
+ cursorOffset: e.cursorOffset > u && e.cursorOffset <= o ? e.cursorOffset - u : -1,
3346
+ endOfLine: "lf"
3347
+ }, a), p = c.formatted.trimEnd(), { cursorOffset: l } = e;
3348
+ l > o ? l += p.length - i.length : c.cursorOffset >= 0 && (l = c.cursorOffset + u);
3349
+ let m = n.slice(0, u) + p + n.slice(o);
3350
+ if (e.endOfLine !== "lf") {
3351
+ let f = we(e.endOfLine);
3352
+ l >= 0 && f === `\r
3353
+ ` && (l += Tt(m.slice(0, l), `
3354
+ `)), m = ne(0, m, `
3355
+ `, f);
3356
+ }
3357
+ return {
3358
+ formatted: m,
3359
+ cursorOffset: l,
3360
+ comments: c.comments
3361
+ };
3362
+ }
3363
+ function sr(t, e, r) {
3364
+ return typeof e != "number" || Number.isNaN(e) || e < 0 || e > t.length ? r : e;
3365
+ }
3366
+ function cu(t, e) {
3367
+ let { cursorOffset: r, rangeStart: n, rangeEnd: u } = e;
3368
+ return r = sr(t, r, -1), n = sr(t, n, 0), u = sr(t, u, t.length), {
3369
+ ...e,
3370
+ cursorOffset: r,
3371
+ rangeStart: n,
3372
+ rangeEnd: u
3373
+ };
3374
+ }
3375
+ function mu(t, e) {
3376
+ let { cursorOffset: r, rangeStart: n, rangeEnd: u, endOfLine: o } = cu(t, e), i = t.charAt(0) === lu;
3377
+ if (i && (t = t.slice(1), r--, n--, u--), o === "auto" && (o = Cr(t)), t.includes("\r")) {
3378
+ let D = (s) => Tt(t.slice(0, Math.max(s, 0)), `\r
3379
+ `);
3380
+ r -= D(r), n -= D(n), u -= D(u), t = hr(t);
3381
+ }
3382
+ return {
3383
+ hasBOM: i,
3384
+ text: t,
3385
+ options: cu(t, {
3386
+ ...e,
3387
+ cursorOffset: r,
3388
+ rangeStart: n,
3389
+ rangeEnd: u,
3390
+ endOfLine: o
3391
+ })
3392
+ };
3393
+ }
3394
+ async function fu(t, e) {
3395
+ let r = await Ue(e);
3396
+ return !r.hasPragma || r.hasPragma(t);
3397
+ }
3398
+ async function hi(t, e) {
3399
+ return (await Ue(e)).hasIgnorePragma?.(t);
3400
+ }
3401
+ async function Dr(t, e) {
3402
+ let { hasBOM: r, text: n, options: u } = mu(t, await se(e));
3403
+ if (u.rangeStart >= u.rangeEnd && n !== "" || u.requirePragma && !await fu(n, u) || u.checkIgnorePragma && await hi(n, u)) return {
3404
+ formatted: t,
3405
+ cursorOffset: e.cursorOffset,
3406
+ comments: []
3407
+ };
3408
+ let o;
3409
+ return u.rangeStart > 0 || u.rangeEnd < n.length ? o = await Ci(n, u) : (!u.requirePragma && u.insertPragma && u.printer.insertPragma && !await fu(n, u) && (n = u.printer.insertPragma(n)), o = await pu(n, u)), r && (o.formatted = lu + o.formatted, o.cursorOffset >= 0 && o.cursorOffset++), o;
3410
+ }
3411
+ async function du(t, e, r) {
3412
+ let { text: n, options: u } = mu(t, await se(e)), o = await me(n, u);
3413
+ return r && (r.preprocessForPrint && (o.ast = await ur(o.ast, u)), r.massage && (o.ast = nu(o.ast, u))), o;
3414
+ }
3415
+ async function Fu(t, e) {
3416
+ e = await se(e);
3417
+ return Ce(await Ve(t, e), e);
3418
+ }
3419
+ async function Eu(t, e) {
3420
+ let { formatted: n } = await Dr(Ur(t), {
3421
+ ...e,
3422
+ parser: "__js_expression"
3423
+ });
3424
+ return n;
3425
+ }
3426
+ async function Cu(t, e) {
3427
+ e = await se(e);
3428
+ let { ast: r } = await me(t, e);
3429
+ return e.cursorOffset >= 0 && (e = {
3430
+ ...e,
3431
+ ...or(r, e)
3432
+ }), Ve(r, e);
3433
+ }
3434
+ async function hu(t, e) {
3435
+ return Ce(t, await se(e));
3436
+ }
3437
+ var ar = {};
3438
+ yt(ar, {
3439
+ builders: () => _i,
3440
+ printer: () => yi,
3441
+ utils: () => Ai
3442
+ });
3443
+ var _i = {
3444
+ join: be,
3445
+ line: Ze,
3446
+ softline: Mr,
3447
+ hardline: W,
3448
+ literalline: Je,
3449
+ group: wt,
3450
+ conditionalGroup: Ir,
3451
+ fill: kr,
3452
+ lineSuffix: Ie,
3453
+ lineSuffixBoundary: Yr,
3454
+ cursor: ee,
3455
+ breakParent: ae,
3456
+ ifBreak: Rr,
3457
+ trim: jr,
3458
+ indent: oe,
3459
+ indentIfBreak: vr,
3460
+ align: De,
3461
+ addAlignmentToDoc: Qe,
3462
+ markAsRoot: Xe,
3463
+ dedentToRoot: Sr,
3464
+ dedent: br,
3465
+ hardlineWithoutBreakParent: ke,
3466
+ literallineWithoutBreakParent: Ot,
3467
+ label: Lr,
3468
+ concat: (t) => t
3469
+ };
3470
+ var yi = { printDocToString: Ce };
3471
+ var Ai = {
3472
+ willBreak: xr,
3473
+ traverseDoc: Oe,
3474
+ findInDoc: Ke,
3475
+ mapDoc: Se,
3476
+ removeLines: Tr,
3477
+ stripTrailingHardline: He,
3478
+ replaceEndOfLine: Nr,
3479
+ canBreak: wr
3480
+ };
3481
+ var gu = "3.9.6";
3482
+ var fr = {};
3483
+ yt(fr, {
3484
+ addDanglingComment: () => re,
3485
+ addLeadingComment: () => ce,
3486
+ addTrailingComment: () => fe,
3487
+ getAlignmentSize: () => he,
3488
+ getIndentSize: () => _u,
3489
+ getMaxContinuousCount: () => yu,
3490
+ getNextNonSpaceNonCommentCharacter: () => Au,
3491
+ getNextNonSpaceNonCommentCharacterIndex: () => vi,
3492
+ getPreferredQuote: () => Tu,
3493
+ getStringWidth: () => Re,
3494
+ hasNewline: () => H,
3495
+ hasNewlineInRange: () => Nu,
3496
+ hasSpaces: () => wu,
3497
+ isNextLineEmpty: () => Ui,
3498
+ isNextLineEmptyAfterIndex: () => gt,
3499
+ isPreviousLineEmpty: () => Mi,
3500
+ makeString: () => ji,
3501
+ skip: () => _e,
3502
+ skipEverythingButNewLine: () => ut,
3503
+ skipInlineComment: () => Be,
3504
+ skipNewline: () => $,
3505
+ skipSpaces: () => j,
3506
+ skipToLineEnd: () => nt,
3507
+ skipTrailingComment: () => Te,
3508
+ skipWhitespace: () => tn
3509
+ });
3510
+ function xi(t, e) {
3511
+ if (e === !1) return !1;
3512
+ if (t.charAt(e) === "/" && t.charAt(e + 1) === "*") {
3513
+ for (let r = e + 2; r < t.length; ++r) if (t.charAt(r) === "*" && t.charAt(r + 1) === "/") return r + 2;
3514
+ }
3515
+ return e;
3516
+ }
3517
+ var Be = xi;
3518
+ function Bi(t, e) {
3519
+ return e === !1 ? !1 : t.charAt(e) === "/" && t.charAt(e + 1) === "/" ? ut(t, e) : e;
3520
+ }
3521
+ var Te = Bi;
3522
+ function Ti(t, e) {
3523
+ let r = null, n = e;
3524
+ for (; n !== r;) r = n, n = j(t, n), n = Be(t, n), n = Te(t, n), n = $(t, n);
3525
+ return n;
3526
+ }
3527
+ var We = Ti;
3528
+ function Ni(t, e) {
3529
+ let r = null, n = e;
3530
+ for (; n !== r;) r = n, n = nt(t, n), n = Be(t, n), n = j(t, n);
3531
+ return n = Te(t, n), n = $(t, n), n !== !1 && H(t, n);
3532
+ }
3533
+ var gt = Ni;
3534
+ function wi(t, e) {
3535
+ let r = t.lastIndexOf(`
3536
+ `);
3537
+ return r === -1 ? 0 : he(t.slice(r + 1).match(/^[\t ]*/)[0], e);
3538
+ }
3539
+ var _u = wi;
3540
+ function cr(t) {
3541
+ if (typeof t != "string") throw new TypeError("Expected a string");
3542
+ return t.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
3543
+ }
3544
+ function Oi(t, e) {
3545
+ let r = t.matchAll(new RegExp(`(?:${cr(e)})+`, "g"));
3546
+ return r.reduce || (r = [...r]), r.reduce((n, [u]) => Math.max(n, u.length), 0) / e.length;
3547
+ }
3548
+ var yu = Oi;
3549
+ function Pi(t, e) {
3550
+ let r = We(t, e);
3551
+ return r === !1 ? "" : t.charAt(r);
3552
+ }
3553
+ var Au = Pi;
3554
+ var xu = Object.freeze({
3555
+ character: "'",
3556
+ codePoint: 39
3557
+ });
3558
+ var Bu = Object.freeze({
3559
+ character: "\"",
3560
+ codePoint: 34
3561
+ });
3562
+ var Si = Object.freeze({
3563
+ preferred: xu,
3564
+ alternate: Bu
3565
+ });
3566
+ var bi = Object.freeze({
3567
+ preferred: Bu,
3568
+ alternate: xu
3569
+ });
3570
+ function Tu(t, e) {
3571
+ let { preferred: r, alternate: n } = e === !0 || e === "'" ? Si : bi, { length: u } = t, o = 0, i = 0;
3572
+ for (let D = 0; D < u; D++) {
3573
+ let s = t.charCodeAt(D);
3574
+ s === r.codePoint ? o++ : s === n.codePoint && i++;
3575
+ }
3576
+ return (o > i ? n : r).character;
3577
+ }
3578
+ function ki(t, e, r) {
3579
+ for (let n = e; n < r; ++n) if (t.charAt(n) === `
3580
+ `) return !0;
3581
+ return !1;
3582
+ }
3583
+ var Nu = ki;
3584
+ function Ii(t, e, r = {}) {
3585
+ return j(t, r.backwards ? e - 1 : e, r) !== e;
3586
+ }
3587
+ var wu = Ii;
3588
+ function Ri(t, e, r) {
3589
+ return We(t, r(e));
3590
+ }
3591
+ function vi(t, e) {
3592
+ return arguments.length === 2 || typeof e == "number" ? We(t, e) : Ri(...arguments);
3593
+ }
3594
+ function Li(t, e, r) {
3595
+ return ve(t, r(e));
3596
+ }
3597
+ function Mi(t, e) {
3598
+ return arguments.length === 2 || typeof e == "number" ? ve(t, e) : Li(...arguments);
3599
+ }
3600
+ function Yi(t, e, r) {
3601
+ return gt(t, r(e));
3602
+ }
3603
+ function ji(t, e, r) {
3604
+ let n = e === "\"" ? "'" : "\"";
3605
+ return e + ne(0, t, /\\(.)|(["'])/gs, (i, D, s) => D === n ? D : s === e ? "\\" + s : s || (r && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(D) ? D : "\\" + D)) + e;
3606
+ }
3607
+ function Ui(t, e) {
3608
+ return arguments.length === 2 || typeof e == "number" ? gt(t, e) : Yi(...arguments);
3609
+ }
3610
+ function de(t, e = 1) {
3611
+ return async (...r) => {
3612
+ let n = r[e] ?? {}, u = n.plugins ?? [];
3613
+ return r[e] = {
3614
+ ...n,
3615
+ plugins: Array.isArray(u) ? u : Object.values(u)
3616
+ }, await t(...r);
3617
+ };
3618
+ }
3619
+ var Ou = de(Dr);
3620
+ async function Pu(t, e) {
3621
+ let { formatted: r } = await Ou(t, {
3622
+ ...e,
3623
+ cursorOffset: -1
3624
+ });
3625
+ return r;
3626
+ }
3627
+ async function Vi(t, e) {
3628
+ return await Pu(t, e) === t;
3629
+ }
3630
+ var Wi = de(it, 0);
3631
+ var $i = {
3632
+ parse: de(du),
3633
+ formatAST: de(Fu),
3634
+ formatDoc: de(Eu),
3635
+ printToDoc: de(Cu),
3636
+ printDocToString: de(hu)
3637
+ };
3638
+ //#endregion
3639
+ export { $i as __debug, Vi as check, Su as default, ar as doc, Pu as format, Ou as formatWithCursor, Wi as getSupportInfo, fr as util, gu as version };