-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo.html
658 lines (617 loc) · 450 KB
/
demo.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
<!DOCTYPE html>
<html>
<!--
Khanalytics (Khan + Analytics)
Track how well your programs are doing on the Hotlist, how many botted
votes are going around or just stare at the pretty graphs.
More information about the project is available at the website.
Website:
https://khanalytics.bhavjit.com
Source:
https://github.com/bhavjitChauhan/khanalytics
-->
<head>
<meta charset="utf-8">
<title>Khanalytics Demo</title>
<style>
::-moz-selection {
background: rgba(0, 0, 0, 0.3);
}
::selection {
background: rgba(0, 0, 0, 0.3);
}
::-webkit-scrollbar {
width: 1em;
}
::-webkit-scrollbar-track {
background-color: transparent;
}
::-webkit-scrollbar-thumb {
background-color: var(--scroll-bar);
border-radius: 15px;
border: 6px solid transparent;
background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
background-color: var(--scroll-bar-hover);
}
</style>
</head>
<body>
<div class="dark:bg-[#1f1f1f] bg-white overflow-x-hidden transition-all">
<div
class="px-8 py-4 mx-4 my-8 text-red-500 rounded bg-red-50 outline outline-1 outline-red-500 dark:bg-opacity-5 dark:bg-red-500">
<svg xmlns="http://www.w3.org/2000/svg" class="inline w-6 h-6" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
<span>This is just a demo! To see realtime information, detailed statistics and <i>much</i> more, visit <a
href="https://khanalytics.bhavjit.com/" target="_blank"
class="font-bold underline">khanalytics.bhavjit.com</a>.</span>
</div>
<div class="px-4 py-16 mx-4 my-8 rounded ring-1 ring-gray-200 dark:ring-gray-600 dark:text-white">
<div
class="mb-8 transition-transform hover:scale-110 drop-shadow-sm hover:drop-shadow-2xl hover:cursor-pointer">
<a href="https://khanalytics.bhavjit.com/" target="_blank">
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 512 512"
class="block w-32 mx-auto">
<defs>
<style>
.cls-1 {
fill: url(#radial-gradient);
}
.cls-2 {
fill: #fff;
}
</style>
<radialGradient id="radial-gradient" cx="256" cy="235.5" r="344.99"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#14bf96" />
<stop offset="0.91" stop-color="#14bf96" />
<stop offset="1" stop-color="#14bf96" />
</radialGradient>
</defs>
<path class="cls-1"
d="M235.89,13.64,31.72,162a34.2,34.2,0,0,0-12.43,38.24l78,240a34.2,34.2,0,0,0,32.53,23.64H382.19a34.2,34.2,0,0,0,32.53-23.64l78-240A34.2,34.2,0,0,0,480.28,162L276.11,13.64A34.22,34.22,0,0,0,235.89,13.64Z" />
<path class="cls-2"
d="M238.08,128l-41.16,71.31a20.68,20.68,0,0,0,17.91,31h82.34a20.68,20.68,0,0,0,17.91-31L273.92,128A20.7,20.7,0,0,0,238.08,128Z" />
<path class="cls-2"
d="M167.34,253.76l-41.17,71.3a20.69,20.69,0,0,0,17.92,31h82.33a20.69,20.69,0,0,0,17.92-31l-41.17-71.3A20.69,20.69,0,0,0,167.34,253.76Z" />
<path class="cls-2"
d="M309.41,253.39,268.24,324.7a20.69,20.69,0,0,0,17.92,31h82.33a20.69,20.69,0,0,0,17.92-31l-41.17-71.31A20.69,20.69,0,0,0,309.41,253.39Z" />
</svg>
<h1 class="text-4xl font-bold text-center">Khanalytics</h1>
</a>
</div>
<div class="w-1/2 mx-auto mb-8 space-y-2 text-center">
<p>Track how well your programs are doing on the Hotlist, how many botted votes are going around or just
stare
at the pretty graphs:<br><a href="https://khanalytics.bhavjit.com/" target="_blank"
class="font-bold underline">khanalytics.bhavjit.com</a></p>
<p class="italic text-gray-400">(comes with dark mode)</p>
</div>
<div class="px-8 py-2 m-2 bg-gray-100 rounded-full dark:bg-[#3d3d3d] mb-4">
<label for="field" class="font-semibold uppercase">Field</label>
<select name="field" id="field"
class="h-8 p-1 mx-1 transition rounded outline outline-1 outline-gray-200 hover:cursor-pointer bg-white dark:bg-[#3d3d3d]">
<option value="rank">Rank</option>
<option value="votes" selected>Votes</option>
<option value="forks">Forks</option>
<option value="comments">Comments</option>
<option value="upvotes">Upvotes</option>
<option value="replies">Replies</option>
</select>
<div id="field-change-prompt" class="inline-block w-1/3 animate-bounce text-[#14bf96] font-bold">Change
me!
</div>
</div>
<div class="grid grid-cols-1 grid-rows-3 gap-4">
<div id="main-chart" class="col-span-1 row-span-1 p-2 rounded ring-1 ring-gray-200 dark:ring-gray-600">
</div>
<div id="top-chart" class="col-span-1 row-span-1 p-2 rounded ring-1 ring-gray-200 dark:ring-gray-600">
</div>
<div id="ratio-chart" class="col-span-1 row-span-1 p-2 rounded ring-1 ring-gray-200 dark:ring-gray-600">
</div>
</div>
</div>
<div
class="px-8 py-4 mx-4 my-8 text-red-500 rounded bg-red-50 outline outline-1 outline-red-500 dark:bg-opacity-5 dark:bg-red-500">
<svg xmlns="http://www.w3.org/2000/svg" class="inline w-6 h-6" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
<span>This is just a demo! To see realtime information, detailed statistics and <i>much</i> more, visit <a
href="https://khanalytics.bhavjit.com/" target="_blank"
class="font-bold underline">khanalytics.bhavjit.com</a>.</span>
</div>
<button id="dark-mode-button"
class="fixed bottom-0 right-0 bg-white dark:bg-[#3d3d3d] rounded-full p-4 m-2 dark:text-white shadow-xl hover:shadow-2xl transition-all">
<span id="dark-mode-prompt"
class="absolute w-full h-full bg-[#14bf96] rounded-full opacity-75 animate-ping bottom-1 right-1"></span>
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z" />
</svg>
</button>
</div>
<div id="cover"></div>
<script type>
/* Tailwind CSS 3.0.23 https://cdn.tailwindcss.com/3.0.23 */
(() => {
var Py = Object.create; var Lr = Object.defineProperty; var Dy = Object.getOwnPropertyDescriptor; var qy = Object.getOwnPropertyNames; var Iy = Object.getPrototypeOf, Ry = Object.prototype.hasOwnProperty; var Ka = i => Lr(i, "__esModule", { value: !0 }); var os = i => { if (typeof require != "undefined") return require(i); throw new Error('Dynamic require of "' + i + '" is not supported') }; var _ = (i, e) => () => (i && (e = i(i = 0)), e); var w = (i, e) => () => (e || i((e = { exports: {} }).exports, e), e.exports), le = (i, e) => { Ka(i); for (var t in e) Lr(i, t, { get: e[t], enumerable: !0 }) }, My = (i, e, t) => { if (e && typeof e == "object" || typeof e == "function") for (let r of qy(e)) !Ry.call(i, r) && r !== "default" && Lr(i, r, { get: () => e[r], enumerable: !(t = Dy(e, r)) || t.enumerable }); return i }, V = i => My(Ka(Lr(i != null ? Py(Iy(i)) : {}, "default", i && i.__esModule && "default" in i ? { get: () => i.default, enumerable: !0 } : { value: i, enumerable: !0 })), i); var h, l = _(() => { h = { platform: "", env: {}, versions: { node: "14.17.6" } } }); var Ny, ge, it = _(() => { l(); Ny = 0, ge = { readFileSync: i => self[i] || "", statSync: () => ({ mtimeMs: Ny++ }) } }); var Za = {}; le(Za, { default: () => ee }); var ee, Ve = _(() => { l(); ee = { resolve: i => i, extname: i => "." + i.split(".").pop() } }); var el, tl = _(() => { l(); el = { sync: i => [].concat(i) } }); var as = w((nA, il) => { l(); "use strict"; var rl = class { constructor(e = {}) { if (!(e.maxSize && e.maxSize > 0)) throw new TypeError("`maxSize` must be a number greater than 0"); this.maxSize = e.maxSize, this.onEviction = e.onEviction, this.cache = new Map, this.oldCache = new Map, this._size = 0 } _set(e, t) { if (this.cache.set(e, t), this._size++, this._size >= this.maxSize) { if (this._size = 0, typeof this.onEviction == "function") for (let [r, s] of this.oldCache.entries()) this.onEviction(r, s); this.oldCache = this.cache, this.cache = new Map } } get(e) { if (this.cache.has(e)) return this.cache.get(e); if (this.oldCache.has(e)) { let t = this.oldCache.get(e); return this.oldCache.delete(e), this._set(e, t), t } } set(e, t) { return this.cache.has(e) ? this.cache.set(e, t) : this._set(e, t), this } has(e) { return this.cache.has(e) || this.oldCache.has(e) } peek(e) { if (this.cache.has(e)) return this.cache.get(e); if (this.oldCache.has(e)) return this.oldCache.get(e) } delete(e) { let t = this.cache.delete(e); return t && this._size--, this.oldCache.delete(e) || t } clear() { this.cache.clear(), this.oldCache.clear(), this._size = 0 } *keys() { for (let [e] of this) yield e } *values() { for (let [, e] of this) yield e } *[Symbol.iterator]() { for (let e of this.cache) yield e; for (let e of this.oldCache) { let [t] = e; this.cache.has(t) || (yield e) } } get size() { let e = 0; for (let t of this.oldCache.keys()) this.cache.has(t) || e++; return Math.min(this._size + e, this.maxSize) } }; il.exports = rl }); var sl, nl = _(() => { l(); sl = i => i }); var ol, al = _(() => { l(); ol = i => i && i._hash }); function Br(i) { return ol(i, { ignoreUnknown: !0 }) } var ll = _(() => { l(); al() }); var Fr, ls = _(() => { l(); Fr = {} }); function ul(i) { let e = ge.readFileSync(i, "utf-8"), t = Fr(e); return { file: i, requires: t } } function us(i) { let t = [ul(i)]; for (let r of t) r.requires.filter(s => s.startsWith("./") || s.startsWith("../")).forEach(s => { try { let n = ee.dirname(r.file), o = Fr.sync(s, { basedir: n }), a = ul(o); t.push(a) } catch (n) { } }); return t } var fl = _(() => { l(); it(); Ve(); ls(); ls() }); function We(i) { if (i = `${i}`, i === "0") return "0"; if (/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(i)) return i.replace(/^[+-]?/, e => e === "-" ? "" : "-"); if (i.includes("var(") || i.includes("calc(")) return `calc(${i} * -1)` } var zr = _(() => { l() }); var cl, pl = _(() => { l(); cl = ["preflight", "container", "accessibility", "pointerEvents", "visibility", "position", "inset", "isolation", "zIndex", "order", "gridColumn", "gridColumnStart", "gridColumnEnd", "gridRow", "gridRowStart", "gridRowEnd", "float", "clear", "margin", "boxSizing", "display", "aspectRatio", "height", "maxHeight", "minHeight", "width", "minWidth", "maxWidth", "flex", "flexShrink", "flexGrow", "flexBasis", "tableLayout", "borderCollapse", "transformOrigin", "translate", "rotate", "skew", "scale", "transform", "animation", "cursor", "touchAction", "userSelect", "resize", "scrollSnapType", "scrollSnapAlign", "scrollSnapStop", "scrollMargin", "scrollPadding", "listStylePosition", "listStyleType", "appearance", "columns", "breakBefore", "breakInside", "breakAfter", "gridAutoColumns", "gridAutoFlow", "gridAutoRows", "gridTemplateColumns", "gridTemplateRows", "flexDirection", "flexWrap", "placeContent", "placeItems", "alignContent", "alignItems", "justifyContent", "justifyItems", "gap", "space", "divideWidth", "divideStyle", "divideColor", "divideOpacity", "placeSelf", "alignSelf", "justifySelf", "overflow", "overscrollBehavior", "scrollBehavior", "textOverflow", "whitespace", "wordBreak", "borderRadius", "borderWidth", "borderStyle", "borderColor", "borderOpacity", "backgroundColor", "backgroundOpacity", "backgroundImage", "gradientColorStops", "boxDecorationBreak", "backgroundSize", "backgroundAttachment", "backgroundClip", "backgroundPosition", "backgroundRepeat", "backgroundOrigin", "fill", "stroke", "strokeWidth", "objectFit", "objectPosition", "padding", "textAlign", "textIndent", "verticalAlign", "fontFamily", "fontSize", "fontWeight", "textTransform", "fontStyle", "fontVariantNumeric", "lineHeight", "letterSpacing", "textColor", "textOpacity", "textDecoration", "textDecorationColor", "textDecorationStyle", "textDecorationThickness", "textUnderlineOffset", "fontSmoothing", "placeholderColor", "placeholderOpacity", "caretColor", "accentColor", "opacity", "backgroundBlendMode", "mixBlendMode", "boxShadow", "boxShadowColor", "outlineStyle", "outlineWidth", "outlineOffset", "outlineColor", "ringWidth", "ringColor", "ringOpacity", "ringOffsetWidth", "ringOffsetColor", "blur", "brightness", "contrast", "dropShadow", "grayscale", "hueRotate", "invert", "saturate", "sepia", "filter", "backdropBlur", "backdropBrightness", "backdropContrast", "backdropGrayscale", "backdropHueRotate", "backdropInvert", "backdropOpacity", "backdropSaturate", "backdropSepia", "backdropFilter", "transitionProperty", "transitionDelay", "transitionDuration", "transitionTimingFunction", "willChange", "content"] }); function dl(i, e) { return i === void 0 ? e : Array.isArray(i) ? i : [...new Set(e.filter(r => i !== !1 && i[r] !== !1).concat(Object.keys(i).filter(r => i[r] !== !1)))] } var hl = _(() => { l() }); var Lt = w((bA, ml) => { l(); ml.exports = { content: [], presets: [], darkMode: "media", theme: { screens: { sm: "640px", md: "768px", lg: "1024px", xl: "1280px", "2xl": "1536px" }, colors: ({ colors: i }) => ({ inherit: i.inherit, current: i.current, transparent: i.transparent, black: i.black, white: i.white, slate: i.slate, gray: i.gray, zinc: i.zinc, neutral: i.neutral, stone: i.stone, red: i.red, orange: i.orange, amber: i.amber, yellow: i.yellow, lime: i.lime, green: i.green, emerald: i.emerald, teal: i.teal, cyan: i.cyan, sky: i.sky, blue: i.blue, indigo: i.indigo, violet: i.violet, purple: i.purple, fuchsia: i.fuchsia, pink: i.pink, rose: i.rose }), columns: { auto: "auto", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11", 12: "12", "3xs": "16rem", "2xs": "18rem", xs: "20rem", sm: "24rem", md: "28rem", lg: "32rem", xl: "36rem", "2xl": "42rem", "3xl": "48rem", "4xl": "56rem", "5xl": "64rem", "6xl": "72rem", "7xl": "80rem" }, spacing: { px: "1px", 0: "0px", .5: "0.125rem", 1: "0.25rem", 1.5: "0.375rem", 2: "0.5rem", 2.5: "0.625rem", 3: "0.75rem", 3.5: "0.875rem", 4: "1rem", 5: "1.25rem", 6: "1.5rem", 7: "1.75rem", 8: "2rem", 9: "2.25rem", 10: "2.5rem", 11: "2.75rem", 12: "3rem", 14: "3.5rem", 16: "4rem", 20: "5rem", 24: "6rem", 28: "7rem", 32: "8rem", 36: "9rem", 40: "10rem", 44: "11rem", 48: "12rem", 52: "13rem", 56: "14rem", 60: "15rem", 64: "16rem", 72: "18rem", 80: "20rem", 96: "24rem" }, animation: { none: "none", spin: "spin 1s linear infinite", ping: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite", pulse: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite", bounce: "bounce 1s infinite" }, aspectRatio: { auto: "auto", square: "1 / 1", video: "16 / 9" }, backdropBlur: ({ theme: i }) => i("blur"), backdropBrightness: ({ theme: i }) => i("brightness"), backdropContrast: ({ theme: i }) => i("contrast"), backdropGrayscale: ({ theme: i }) => i("grayscale"), backdropHueRotate: ({ theme: i }) => i("hueRotate"), backdropInvert: ({ theme: i }) => i("invert"), backdropOpacity: ({ theme: i }) => i("opacity"), backdropSaturate: ({ theme: i }) => i("saturate"), backdropSepia: ({ theme: i }) => i("sepia"), backgroundColor: ({ theme: i }) => i("colors"), backgroundImage: { none: "none", "gradient-to-t": "linear-gradient(to top, var(--tw-gradient-stops))", "gradient-to-tr": "linear-gradient(to top right, var(--tw-gradient-stops))", "gradient-to-r": "linear-gradient(to right, var(--tw-gradient-stops))", "gradient-to-br": "linear-gradient(to bottom right, var(--tw-gradient-stops))", "gradient-to-b": "linear-gradient(to bottom, var(--tw-gradient-stops))", "gradient-to-bl": "linear-gradient(to bottom left, var(--tw-gradient-stops))", "gradient-to-l": "linear-gradient(to left, var(--tw-gradient-stops))", "gradient-to-tl": "linear-gradient(to top left, var(--tw-gradient-stops))" }, backgroundOpacity: ({ theme: i }) => i("opacity"), backgroundPosition: { bottom: "bottom", center: "center", left: "left", "left-bottom": "left bottom", "left-top": "left top", right: "right", "right-bottom": "right bottom", "right-top": "right top", top: "top" }, backgroundSize: { auto: "auto", cover: "cover", contain: "contain" }, blur: { 0: "0", none: "0", sm: "4px", DEFAULT: "8px", md: "12px", lg: "16px", xl: "24px", "2xl": "40px", "3xl": "64px" }, brightness: { 0: "0", 50: ".5", 75: ".75", 90: ".9", 95: ".95", 100: "1", 105: "1.05", 110: "1.1", 125: "1.25", 150: "1.5", 200: "2" }, borderColor: ({ theme: i }) => ({ ...i("colors"), DEFAULT: i("colors.gray.200", "currentColor") }), borderOpacity: ({ theme: i }) => i("opacity"), borderRadius: { none: "0px", sm: "0.125rem", DEFAULT: "0.25rem", md: "0.375rem", lg: "0.5rem", xl: "0.75rem", "2xl": "1rem", "3xl": "1.5rem", full: "9999px" }, borderWidth: { DEFAULT: "1px", 0: "0px", 2: "2px", 4: "4px", 8: "8px" }, boxShadow: { sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)", DEFAULT: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)", md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)", lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)", xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)", "2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)", inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)", none: "none" }, boxShadowColor: ({ theme: i }) => i("colors"), caretColor: ({ theme: i }) => i("colors"), accentColor: ({ theme: i }) => ({ ...i("colors"), auto: "auto" }), contrast: { 0: "0", 50: ".5", 75: ".75", 100: "1", 125: "1.25", 150: "1.5", 200: "2" }, container: {}, content: { none: "none" }, cursor: { auto: "auto", default: "default", pointer: "pointer", wait: "wait", text: "text", move: "move", help: "help", "not-allowed": "not-allowed", none: "none", "context-menu": "context-menu", progress: "progress", cell: "cell", crosshair: "crosshair", "vertical-text": "vertical-text", alias: "alias", copy: "copy", "no-drop": "no-drop", grab: "grab", grabbing: "grabbing", "all-scroll": "all-scroll", "col-resize": "col-resize", "row-resize": "row-resize", "n-resize": "n-resize", "e-resize": "e-resize", "s-resize": "s-resize", "w-resize": "w-resize", "ne-resize": "ne-resize", "nw-resize": "nw-resize", "se-resize": "se-resize", "sw-resize": "sw-resize", "ew-resize": "ew-resize", "ns-resize": "ns-resize", "nesw-resize": "nesw-resize", "nwse-resize": "nwse-resize", "zoom-in": "zoom-in", "zoom-out": "zoom-out" }, divideColor: ({ theme: i }) => i("borderColor"), divideOpacity: ({ theme: i }) => i("borderOpacity"), divideWidth: ({ theme: i }) => i("borderWidth"), dropShadow: { sm: "0 1px 1px rgb(0 0 0 / 0.05)", DEFAULT: ["0 1px 2px rgb(0 0 0 / 0.1)", "0 1px 1px rgb(0 0 0 / 0.06)"], md: ["0 4px 3px rgb(0 0 0 / 0.07)", "0 2px 2px rgb(0 0 0 / 0.06)"], lg: ["0 10px 8px rgb(0 0 0 / 0.04)", "0 4px 3px rgb(0 0 0 / 0.1)"], xl: ["0 20px 13px rgb(0 0 0 / 0.03)", "0 8px 5px rgb(0 0 0 / 0.08)"], "2xl": "0 25px 25px rgb(0 0 0 / 0.15)", none: "0 0 #0000" }, fill: ({ theme: i }) => i("colors"), grayscale: { 0: "0", DEFAULT: "100%" }, hueRotate: { 0: "0deg", 15: "15deg", 30: "30deg", 60: "60deg", 90: "90deg", 180: "180deg" }, invert: { 0: "0", DEFAULT: "100%" }, flex: { 1: "1 1 0%", auto: "1 1 auto", initial: "0 1 auto", none: "none" }, flexBasis: ({ theme: i }) => ({ auto: "auto", ...i("spacing"), "1/2": "50%", "1/3": "33.333333%", "2/3": "66.666667%", "1/4": "25%", "2/4": "50%", "3/4": "75%", "1/5": "20%", "2/5": "40%", "3/5": "60%", "4/5": "80%", "1/6": "16.666667%", "2/6": "33.333333%", "3/6": "50%", "4/6": "66.666667%", "5/6": "83.333333%", "1/12": "8.333333%", "2/12": "16.666667%", "3/12": "25%", "4/12": "33.333333%", "5/12": "41.666667%", "6/12": "50%", "7/12": "58.333333%", "8/12": "66.666667%", "9/12": "75%", "10/12": "83.333333%", "11/12": "91.666667%", full: "100%" }), flexGrow: { 0: "0", DEFAULT: "1" }, flexShrink: { 0: "0", DEFAULT: "1" }, fontFamily: { sans: ["ui-sans-serif", "system-ui", "-apple-system", "BlinkMacSystemFont", '"Segoe UI"', "Roboto", '"Helvetica Neue"', "Arial", '"Noto Sans"', "sans-serif", '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'], serif: ["ui-serif", "Georgia", "Cambria", '"Times New Roman"', "Times", "serif"], mono: ["ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", '"Liberation Mono"', '"Courier New"', "monospace"] }, fontSize: { xs: ["0.75rem", { lineHeight: "1rem" }], sm: ["0.875rem", { lineHeight: "1.25rem" }], base: ["1rem", { lineHeight: "1.5rem" }], lg: ["1.125rem", { lineHeight: "1.75rem" }], xl: ["1.25rem", { lineHeight: "1.75rem" }], "2xl": ["1.5rem", { lineHeight: "2rem" }], "3xl": ["1.875rem", { lineHeight: "2.25rem" }], "4xl": ["2.25rem", { lineHeight: "2.5rem" }], "5xl": ["3rem", { lineHeight: "1" }], "6xl": ["3.75rem", { lineHeight: "1" }], "7xl": ["4.5rem", { lineHeight: "1" }], "8xl": ["6rem", { lineHeight: "1" }], "9xl": ["8rem", { lineHeight: "1" }] }, fontWeight: { thin: "100", extralight: "200", light: "300", normal: "400", medium: "500", semibold: "600", bold: "700", extrabold: "800", black: "900" }, gap: ({ theme: i }) => i("spacing"), gradientColorStops: ({ theme: i }) => i("colors"), gridAutoColumns: { auto: "auto", min: "min-content", max: "max-content", fr: "minmax(0, 1fr)" }, gridAutoRows: { auto: "auto", min: "min-content", max: "max-content", fr: "minmax(0, 1fr)" }, gridColumn: { auto: "auto", "span-1": "span 1 / span 1", "span-2": "span 2 / span 2", "span-3": "span 3 / span 3", "span-4": "span 4 / span 4", "span-5": "span 5 / span 5", "span-6": "span 6 / span 6", "span-7": "span 7 / span 7", "span-8": "span 8 / span 8", "span-9": "span 9 / span 9", "span-10": "span 10 / span 10", "span-11": "span 11 / span 11", "span-12": "span 12 / span 12", "span-full": "1 / -1" }, gridColumnEnd: { auto: "auto", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11", 12: "12", 13: "13" }, gridColumnStart: { auto: "auto", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11", 12: "12", 13: "13" }, gridRow: { auto: "auto", "span-1": "span 1 / span 1", "span-2": "span 2 / span 2", "span-3": "span 3 / span 3", "span-4": "span 4 / span 4", "span-5": "span 5 / span 5", "span-6": "span 6 / span 6", "span-full": "1 / -1" }, gridRowStart: { auto: "auto", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7" }, gridRowEnd: { auto: "auto", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7" }, gridTemplateColumns: { none: "none", 1: "repeat(1, minmax(0, 1fr))", 2: "repeat(2, minmax(0, 1fr))", 3: "repeat(3, minmax(0, 1fr))", 4: "repeat(4, minmax(0, 1fr))", 5: "repeat(5, minmax(0, 1fr))", 6: "repeat(6, minmax(0, 1fr))", 7: "repeat(7, minmax(0, 1fr))", 8: "repeat(8, minmax(0, 1fr))", 9: "repeat(9, minmax(0, 1fr))", 10: "repeat(10, minmax(0, 1fr))", 11: "repeat(11, minmax(0, 1fr))", 12: "repeat(12, minmax(0, 1fr))" }, gridTemplateRows: { none: "none", 1: "repeat(1, minmax(0, 1fr))", 2: "repeat(2, minmax(0, 1fr))", 3: "repeat(3, minmax(0, 1fr))", 4: "repeat(4, minmax(0, 1fr))", 5: "repeat(5, minmax(0, 1fr))", 6: "repeat(6, minmax(0, 1fr))" }, height: ({ theme: i }) => ({ auto: "auto", ...i("spacing"), "1/2": "50%", "1/3": "33.333333%", "2/3": "66.666667%", "1/4": "25%", "2/4": "50%", "3/4": "75%", "1/5": "20%", "2/5": "40%", "3/5": "60%", "4/5": "80%", "1/6": "16.666667%", "2/6": "33.333333%", "3/6": "50%", "4/6": "66.666667%", "5/6": "83.333333%", full: "100%", screen: "100vh", min: "min-content", max: "max-content", fit: "fit-content" }), inset: ({ theme: i }) => ({ auto: "auto", ...i("spacing"), "1/2": "50%", "1/3": "33.333333%", "2/3": "66.666667%", "1/4": "25%", "2/4": "50%", "3/4": "75%", full: "100%" }), keyframes: { spin: { to: { transform: "rotate(360deg)" } }, ping: { "75%, 100%": { transform: "scale(2)", opacity: "0" } }, pulse: { "50%": { opacity: ".5" } }, bounce: { "0%, 100%": { transform: "translateY(-25%)", animationTimingFunction: "cubic-bezier(0.8,0,1,1)" }, "50%": { transform: "none", animationTimingFunction: "cubic-bezier(0,0,0.2,1)" } } }, letterSpacing: { tighter: "-0.05em", tight: "-0.025em", normal: "0em", wide: "0.025em", wider: "0.05em", widest: "0.1em" }, lineHeight: { none: "1", tight: "1.25", snug: "1.375", normal: "1.5", relaxed: "1.625", loose: "2", 3: ".75rem", 4: "1rem", 5: "1.25rem", 6: "1.5rem", 7: "1.75rem", 8: "2rem", 9: "2.25rem", 10: "2.5rem" }, listStyleType: { none: "none", disc: "disc", decimal: "decimal" }, margin: ({ theme: i }) => ({ auto: "auto", ...i("spacing") }), maxHeight: ({ theme: i }) => ({ ...i("spacing"), full: "100%", screen: "100vh", min: "min-content", max: "max-content", fit: "fit-content" }), maxWidth: ({ theme: i, breakpoints: e }) => ({ none: "none", 0: "0rem", xs: "20rem", sm: "24rem", md: "28rem", lg: "32rem", xl: "36rem", "2xl": "42rem", "3xl": "48rem", "4xl": "56rem", "5xl": "64rem", "6xl": "72rem", "7xl": "80rem", full: "100%", min: "min-content", max: "max-content", fit: "fit-content", prose: "65ch", ...e(i("screens")) }), minHeight: { 0: "0px", full: "100%", screen: "100vh", min: "min-content", max: "max-content", fit: "fit-content" }, minWidth: { 0: "0px", full: "100%", min: "min-content", max: "max-content", fit: "fit-content" }, objectPosition: { bottom: "bottom", center: "center", left: "left", "left-bottom": "left bottom", "left-top": "left top", right: "right", "right-bottom": "right bottom", "right-top": "right top", top: "top" }, opacity: { 0: "0", 5: "0.05", 10: "0.1", 20: "0.2", 25: "0.25", 30: "0.3", 40: "0.4", 50: "0.5", 60: "0.6", 70: "0.7", 75: "0.75", 80: "0.8", 90: "0.9", 95: "0.95", 100: "1" }, order: { first: "-9999", last: "9999", none: "0", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11", 12: "12" }, padding: ({ theme: i }) => i("spacing"), placeholderColor: ({ theme: i }) => i("colors"), placeholderOpacity: ({ theme: i }) => i("opacity"), outlineColor: ({ theme: i }) => i("colors"), outlineOffset: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, outlineWidth: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, ringColor: ({ theme: i }) => ({ DEFAULT: i("colors.blue.500", "#3b82f6"), ...i("colors") }), ringOffsetColor: ({ theme: i }) => i("colors"), ringOffsetWidth: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, ringOpacity: ({ theme: i }) => ({ DEFAULT: "0.5", ...i("opacity") }), ringWidth: { DEFAULT: "3px", 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, rotate: { 0: "0deg", 1: "1deg", 2: "2deg", 3: "3deg", 6: "6deg", 12: "12deg", 45: "45deg", 90: "90deg", 180: "180deg" }, saturate: { 0: "0", 50: ".5", 100: "1", 150: "1.5", 200: "2" }, scale: { 0: "0", 50: ".5", 75: ".75", 90: ".9", 95: ".95", 100: "1", 105: "1.05", 110: "1.1", 125: "1.25", 150: "1.5" }, scrollMargin: ({ theme: i }) => ({ ...i("spacing") }), scrollPadding: ({ theme: i }) => i("spacing"), sepia: { 0: "0", DEFAULT: "100%" }, skew: { 0: "0deg", 1: "1deg", 2: "2deg", 3: "3deg", 6: "6deg", 12: "12deg" }, space: ({ theme: i }) => ({ ...i("spacing") }), stroke: ({ theme: i }) => i("colors"), strokeWidth: { 0: "0", 1: "1", 2: "2" }, textColor: ({ theme: i }) => i("colors"), textDecorationColor: ({ theme: i }) => i("colors"), textDecorationThickness: { auto: "auto", "from-font": "from-font", 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, textUnderlineOffset: { auto: "auto", 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, textIndent: ({ theme: i }) => ({ ...i("spacing") }), textOpacity: ({ theme: i }) => i("opacity"), transformOrigin: { center: "center", top: "top", "top-right": "top right", right: "right", "bottom-right": "bottom right", bottom: "bottom", "bottom-left": "bottom left", left: "left", "top-left": "top left" }, transitionDelay: { 75: "75ms", 100: "100ms", 150: "150ms", 200: "200ms", 300: "300ms", 500: "500ms", 700: "700ms", 1e3: "1000ms" }, transitionDuration: { DEFAULT: "150ms", 75: "75ms", 100: "100ms", 150: "150ms", 200: "200ms", 300: "300ms", 500: "500ms", 700: "700ms", 1e3: "1000ms" }, transitionProperty: { none: "none", all: "all", DEFAULT: "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter", colors: "color, background-color, border-color, text-decoration-color, fill, stroke", opacity: "opacity", shadow: "box-shadow", transform: "transform" }, transitionTimingFunction: { DEFAULT: "cubic-bezier(0.4, 0, 0.2, 1)", linear: "linear", in: "cubic-bezier(0.4, 0, 1, 1)", out: "cubic-bezier(0, 0, 0.2, 1)", "in-out": "cubic-bezier(0.4, 0, 0.2, 1)" }, translate: ({ theme: i }) => ({ ...i("spacing"), "1/2": "50%", "1/3": "33.333333%", "2/3": "66.666667%", "1/4": "25%", "2/4": "50%", "3/4": "75%", full: "100%" }), width: ({ theme: i }) => ({ auto: "auto", ...i("spacing"), "1/2": "50%", "1/3": "33.333333%", "2/3": "66.666667%", "1/4": "25%", "2/4": "50%", "3/4": "75%", "1/5": "20%", "2/5": "40%", "3/5": "60%", "4/5": "80%", "1/6": "16.666667%", "2/6": "33.333333%", "3/6": "50%", "4/6": "66.666667%", "5/6": "83.333333%", "1/12": "8.333333%", "2/12": "16.666667%", "3/12": "25%", "4/12": "33.333333%", "5/12": "41.666667%", "6/12": "50%", "7/12": "58.333333%", "8/12": "66.666667%", "9/12": "75%", "10/12": "83.333333%", "11/12": "91.666667%", full: "100%", screen: "100vw", min: "min-content", max: "max-content", fit: "fit-content" }), willChange: { auto: "auto", scroll: "scroll-position", contents: "contents", transform: "transform" }, zIndex: { auto: "auto", 0: "0", 10: "10", 20: "20", 30: "30", 40: "40", 50: "50" } }, variantOrder: ["first", "last", "odd", "even", "visited", "checked", "empty", "read-only", "group-hover", "group-focus", "focus-within", "hover", "focus", "focus-visible", "active", "disabled"], plugins: [] } }); var $r, Ge, fs = _(() => { l(); $r = i => i, Ge = { yellow: $r, bold: { yellow: $r, magenta: $r, cyan: $r } } }); function cs(i, e, t) { h.env.JEST_WORKER_ID === void 0 && (t && gl.has(t) || (t && gl.add(t), console.warn(""), e.forEach(r => console.warn(i, "-", r)))) } function ps(i) { return Ge.dim(i) } var gl, W, Ce = _(() => { l(); fs(); gl = new Set; W = { info(i, e) { cs(Ge.bold.cyan("info"), ...Array.isArray(i) ? [i] : [e, i]) }, warn(i, e) { cs(Ge.bold.yellow("warn"), ...Array.isArray(i) ? [i] : [e, i]) }, risk(i, e) { cs(Ge.bold.magenta("risk"), ...Array.isArray(i) ? [i] : [e, i]) } } }); var yl = {}; le(yl, { default: () => ds }); function Bt({ version: i, from: e, to: t }) { W.warn(`${e}-color-renamed`, [`As of Tailwind CSS ${i}, \`${e}\` has been renamed to \`${t}\`.`, "Update your configuration file to silence this warning."]) } var ds, hs = _(() => { l(); Ce(); ds = { inherit: "inherit", current: "currentColor", transparent: "transparent", black: "#000", white: "#fff", slate: { 50: "#f8fafc", 100: "#f1f5f9", 200: "#e2e8f0", 300: "#cbd5e1", 400: "#94a3b8", 500: "#64748b", 600: "#475569", 700: "#334155", 800: "#1e293b", 900: "#0f172a" }, gray: { 50: "#f9fafb", 100: "#f3f4f6", 200: "#e5e7eb", 300: "#d1d5db", 400: "#9ca3af", 500: "#6b7280", 600: "#4b5563", 700: "#374151", 800: "#1f2937", 900: "#111827" }, zinc: { 50: "#fafafa", 100: "#f4f4f5", 200: "#e4e4e7", 300: "#d4d4d8", 400: "#a1a1aa", 500: "#71717a", 600: "#52525b", 700: "#3f3f46", 800: "#27272a", 900: "#18181b" }, neutral: { 50: "#fafafa", 100: "#f5f5f5", 200: "#e5e5e5", 300: "#d4d4d4", 400: "#a3a3a3", 500: "#737373", 600: "#525252", 700: "#404040", 800: "#262626", 900: "#171717" }, stone: { 50: "#fafaf9", 100: "#f5f5f4", 200: "#e7e5e4", 300: "#d6d3d1", 400: "#a8a29e", 500: "#78716c", 600: "#57534e", 700: "#44403c", 800: "#292524", 900: "#1c1917" }, red: { 50: "#fef2f2", 100: "#fee2e2", 200: "#fecaca", 300: "#fca5a5", 400: "#f87171", 500: "#ef4444", 600: "#dc2626", 700: "#b91c1c", 800: "#991b1b", 900: "#7f1d1d" }, orange: { 50: "#fff7ed", 100: "#ffedd5", 200: "#fed7aa", 300: "#fdba74", 400: "#fb923c", 500: "#f97316", 600: "#ea580c", 700: "#c2410c", 800: "#9a3412", 900: "#7c2d12" }, amber: { 50: "#fffbeb", 100: "#fef3c7", 200: "#fde68a", 300: "#fcd34d", 400: "#fbbf24", 500: "#f59e0b", 600: "#d97706", 700: "#b45309", 800: "#92400e", 900: "#78350f" }, yellow: { 50: "#fefce8", 100: "#fef9c3", 200: "#fef08a", 300: "#fde047", 400: "#facc15", 500: "#eab308", 600: "#ca8a04", 700: "#a16207", 800: "#854d0e", 900: "#713f12" }, lime: { 50: "#f7fee7", 100: "#ecfccb", 200: "#d9f99d", 300: "#bef264", 400: "#a3e635", 500: "#84cc16", 600: "#65a30d", 700: "#4d7c0f", 800: "#3f6212", 900: "#365314" }, green: { 50: "#f0fdf4", 100: "#dcfce7", 200: "#bbf7d0", 300: "#86efac", 400: "#4ade80", 500: "#22c55e", 600: "#16a34a", 700: "#15803d", 800: "#166534", 900: "#14532d" }, emerald: { 50: "#ecfdf5", 100: "#d1fae5", 200: "#a7f3d0", 300: "#6ee7b7", 400: "#34d399", 500: "#10b981", 600: "#059669", 700: "#047857", 800: "#065f46", 900: "#064e3b" }, teal: { 50: "#f0fdfa", 100: "#ccfbf1", 200: "#99f6e4", 300: "#5eead4", 400: "#2dd4bf", 500: "#14b8a6", 600: "#0d9488", 700: "#0f766e", 800: "#115e59", 900: "#134e4a" }, cyan: { 50: "#ecfeff", 100: "#cffafe", 200: "#a5f3fc", 300: "#67e8f9", 400: "#22d3ee", 500: "#06b6d4", 600: "#0891b2", 700: "#0e7490", 800: "#155e75", 900: "#164e63" }, sky: { 50: "#f0f9ff", 100: "#e0f2fe", 200: "#bae6fd", 300: "#7dd3fc", 400: "#38bdf8", 500: "#0ea5e9", 600: "#0284c7", 700: "#0369a1", 800: "#075985", 900: "#0c4a6e" }, blue: { 50: "#eff6ff", 100: "#dbeafe", 200: "#bfdbfe", 300: "#93c5fd", 400: "#60a5fa", 500: "#3b82f6", 600: "#2563eb", 700: "#1d4ed8", 800: "#1e40af", 900: "#1e3a8a" }, indigo: { 50: "#eef2ff", 100: "#e0e7ff", 200: "#c7d2fe", 300: "#a5b4fc", 400: "#818cf8", 500: "#6366f1", 600: "#4f46e5", 700: "#4338ca", 800: "#3730a3", 900: "#312e81" }, violet: { 50: "#f5f3ff", 100: "#ede9fe", 200: "#ddd6fe", 300: "#c4b5fd", 400: "#a78bfa", 500: "#8b5cf6", 600: "#7c3aed", 700: "#6d28d9", 800: "#5b21b6", 900: "#4c1d95" }, purple: { 50: "#faf5ff", 100: "#f3e8ff", 200: "#e9d5ff", 300: "#d8b4fe", 400: "#c084fc", 500: "#a855f7", 600: "#9333ea", 700: "#7e22ce", 800: "#6b21a8", 900: "#581c87" }, fuchsia: { 50: "#fdf4ff", 100: "#fae8ff", 200: "#f5d0fe", 300: "#f0abfc", 400: "#e879f9", 500: "#d946ef", 600: "#c026d3", 700: "#a21caf", 800: "#86198f", 900: "#701a75" }, pink: { 50: "#fdf2f8", 100: "#fce7f3", 200: "#fbcfe8", 300: "#f9a8d4", 400: "#f472b6", 500: "#ec4899", 600: "#db2777", 700: "#be185d", 800: "#9d174d", 900: "#831843" }, rose: { 50: "#fff1f2", 100: "#ffe4e6", 200: "#fecdd3", 300: "#fda4af", 400: "#fb7185", 500: "#f43f5e", 600: "#e11d48", 700: "#be123c", 800: "#9f1239", 900: "#881337" }, get lightBlue() { return Bt({ version: "v2.2", from: "lightBlue", to: "sky" }), this.sky }, get warmGray() { return Bt({ version: "v3.0", from: "warmGray", to: "stone" }), this.stone }, get trueGray() { return Bt({ version: "v3.0", from: "trueGray", to: "neutral" }), this.neutral }, get coolGray() { return Bt({ version: "v3.0", from: "coolGray", to: "gray" }), this.gray }, get blueGray() { return Bt({ version: "v3.0", from: "blueGray", to: "slate" }), this.slate } } }); function ms(i, ...e) { for (let t of e) { for (let r in t) i?.hasOwnProperty?.(r) || (i[r] = t[r]); for (let r of Object.getOwnPropertySymbols(t)) i?.hasOwnProperty?.(r) || (i[r] = t[r]) } return i } var wl = _(() => { l() }); function Ye(i) { if (Array.isArray(i)) return i; let e = i.split("[").length - 1, t = i.split("]").length - 1; if (e !== t) throw new Error(`Path is invalid. Has unbalanced brackets: ${i}`); return i.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean) } var jr = _(() => { l() }); function bl(i) { (() => { if (i.purge || !i.content || !Array.isArray(i.content) && !(typeof i.content == "object" && i.content !== null)) return !1; if (Array.isArray(i.content)) return i.content.every(t => typeof t == "string" ? !0 : !(typeof t?.raw != "string" || t?.extension && typeof t?.extension != "string")); if (typeof i.content == "object" && i.content !== null) { if (Object.keys(i.content).some(t => !["files", "extract", "transform"].includes(t))) return !1; if (Array.isArray(i.content.files)) { if (!i.content.files.every(t => typeof t == "string" ? !0 : !(typeof t?.raw != "string" || t?.extension && typeof t?.extension != "string"))) return !1; if (typeof i.content.extract == "object") { for (let t of Object.values(i.content.extract)) if (typeof t != "function") return !1 } else if (!(i.content.extract === void 0 || typeof i.content.extract == "function")) return !1; if (typeof i.content.transform == "object") { for (let t of Object.values(i.content.transform)) if (typeof t != "function") return !1 } else if (!(i.content.transform === void 0 || typeof i.content.transform == "function")) return !1 } return !0 } return !1 })() || W.warn("purge-deprecation", ["The `purge`/`content` options have changed in Tailwind CSS v3.0.", "Update your configuration file to eliminate this warning.", "https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]), i.safelist = (() => { let { content: t, purge: r, safelist: s } = i; return Array.isArray(s) ? s : Array.isArray(t?.safelist) ? t.safelist : Array.isArray(r?.safelist) ? r.safelist : Array.isArray(r?.options?.safelist) ? r.options.safelist : [] })(), typeof i.prefix == "function" ? (W.warn("prefix-function", ["As of Tailwind CSS v3.0, `prefix` cannot be a function.", "Update `prefix` in your configuration to be a string to eliminate this warning.", "https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]), i.prefix = "") : i.prefix = i.prefix ?? "", i.content = { files: (() => { let { content: t, purge: r } = i; return Array.isArray(r) ? r : Array.isArray(r?.content) ? r.content : Array.isArray(t) ? t : Array.isArray(t?.content) ? t.content : Array.isArray(t?.files) ? t.files : [] })(), extract: (() => { let t = (() => i.purge?.extract ? i.purge.extract : i.content?.extract ? i.content.extract : i.purge?.extract?.DEFAULT ? i.purge.extract.DEFAULT : i.content?.extract?.DEFAULT ? i.content.extract.DEFAULT : i.purge?.options?.extractors ? i.purge.options.extractors : i.content?.options?.extractors ? i.content.options.extractors : {})(), r = {}, s = (() => { if (i.purge?.options?.defaultExtractor) return i.purge.options.defaultExtractor; if (i.content?.options?.defaultExtractor) return i.content.options.defaultExtractor })(); if (s !== void 0 && (r.DEFAULT = s), typeof t == "function") r.DEFAULT = t; else if (Array.isArray(t)) for (let { extensions: n, extractor: o } of t ?? []) for (let a of n) r[a] = o; else typeof t == "object" && t !== null && Object.assign(r, t); return r })(), transform: (() => { let t = (() => i.purge?.transform ? i.purge.transform : i.content?.transform ? i.content.transform : i.purge?.transform?.DEFAULT ? i.purge.transform.DEFAULT : i.content?.transform?.DEFAULT ? i.content.transform.DEFAULT : {})(), r = {}; return typeof t == "function" && (r.DEFAULT = t), typeof t == "object" && t !== null && Object.assign(r, t), r })() }; for (let t of i.content.files) if (typeof t == "string" && /{([^,]*?)}/g.test(t)) { W.warn("invalid-glob-braces", [`The glob pattern ${ps(t)} in your Tailwind CSS configuration is invalid.`, `Update it to ${ps(t.replace(/{([^,]*?)}/g, "$1"))} to silence this warning.`]); break } return i.content.files.length === 0 && W.warn("content-problems", ["The `content` option in your Tailwind CSS configuration is missing or empty.", "Configure your content sources or your generated CSS will be missing styles.", "https://tailwindcss.com/docs/content-configuration"]), i } var vl = _(() => { l(); Ce() }); function Ae(i) { if (Object.prototype.toString.call(i) !== "[object Object]") return !1; let e = Object.getPrototypeOf(i); return e === null || e === Object.prototype } var Ft = _(() => { l() }); function Re(i) { return Array.isArray(i) ? i.map(e => Re(e)) : typeof i == "object" && i !== null ? Object.fromEntries(Object.entries(i).map(([e, t]) => [e, Re(t)])) : i } var Ur = _(() => { l() }); function st(i) { return typeof i == "function" } function zt(i) { return typeof i == "object" && i !== null } function $t(i, ...e) { let t = e.pop(); for (let r of e) for (let s in r) { let n = t(i[s], r[s]); n === void 0 ? zt(i[s]) && zt(r[s]) ? i[s] = $t(i[s], r[s], t) : i[s] = r[s] : i[s] = n } return i } function Ly(i, ...e) { return st(i) ? i(...e) : i } function By(i) { return i.reduce((e, { extend: t }) => $t(e, t, (r, s) => r === void 0 ? [s] : Array.isArray(r) ? [s, ...r] : [s, r]), {}) } function Fy(i) { return { ...i.reduce((e, t) => ms(e, t), {}), extend: By(i) } } function kl(i, e) { if (Array.isArray(i) && zt(i[0])) return i.concat(e); if (Array.isArray(e) && zt(e[0]) && zt(i)) return [i, ...e]; if (Array.isArray(e)) return e } function zy({ extend: i, ...e }) { return $t(e, i, (t, r) => !st(t) && !r.some(st) ? $t({}, t, ...r, kl) : (s, n) => $t({}, ...[t, ...r].map(o => Ly(o, s, n)), kl)) } function $y(i) { let e = (t, r) => { let s = Ye(t), n = 0, o = i; for (; o != null && n < s.length;)o = o[s[n++]], o = st(o) ? o(e, Vr) : o; return o === void 0 ? r : Ae(o) ? Re(o) : o }; e.theme = e; for (let t in Vr) e[t] = Vr[t]; return Object.keys(i).reduce((t, r) => ({ ...t, [r]: st(i[r]) ? i[r](e, Vr) : i[r] }), {}) } function Sl(i) { let e = []; return i.forEach(t => { e = [...e, t]; let r = t?.plugins ?? []; r.length !== 0 && r.forEach(s => { s.__isOptionsFunction && (s = s()), e = [...e, ...Sl([s?.config ?? {}])] }) }), e } function jy(i) { return [...i].reduceRight((t, r) => st(r) ? r({ corePlugins: t }) : dl(r, t), cl) } function Uy(i) { return [...i].reduceRight((t, r) => [...t, ...r], []) } function gs(i) { let e = [...Sl(i), { prefix: "", important: !1, separator: ":", variantOrder: xl.default.variantOrder }]; return bl(ms({ theme: $y(zy(Fy(e.map(t => t?.theme ?? {})))), corePlugins: jy(e.map(t => t.corePlugins)), plugins: Uy(i.map(t => t?.plugins ?? [])) }, ...e)) } var xl, Vr, _l = _(() => { l(); zr(); pl(); hl(); xl = V(Lt()); hs(); wl(); jr(); vl(); Ft(); Ur(); Vr = { colors: ds, negative(i) { return Object.keys(i).filter(e => i[e] !== "0").reduce((e, t) => { let r = We(i[t]); return r !== void 0 && (e[`-${t}`] = r), e }, {}) }, breakpoints(i) { return Object.keys(i).filter(e => typeof i[e] == "string").reduce((e, t) => ({ ...e, [`screen-${t}`]: i[t] }), {}) } } }); function Gr(i, e) { return Wr.future.includes(e) ? i.future === "all" || (i?.future?.[e] ?? Cl[e] ?? !1) : Wr.experimental.includes(e) ? i.experimental === "all" || (i?.experimental?.[e] ?? Cl[e] ?? !1) : !1 } function Al(i) { return i.experimental === "all" ? Wr.experimental : Object.keys(i?.experimental ?? {}).filter(e => Wr.experimental.includes(e) && i.experimental[e]) } function El(i) { if (h.env.JEST_WORKER_ID === void 0 && Al(i).length > 0) { let e = Al(i).map(t => Ge.yellow(t)).join(", "); W.warn("experimental-flags-enabled", [`You have enabled experimental features: ${e}`, "Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."]) } } var Cl, Wr, Yr = _(() => { l(); fs(); Ce(); Cl = { optimizeUniversalDefaults: !1 }, Wr = { future: [], experimental: ["optimizeUniversalDefaults"] } }); function Hr(i) { let e = (i?.presets ?? [Ol.default]).slice().reverse().flatMap(s => Hr(s instanceof Function ? s() : s)), t = {}, r = Object.keys(t).filter(s => Gr(i, s)).map(s => t[s]); return [i, ...r, ...e] } var Ol, Tl = _(() => { l(); Ol = V(Lt()); Yr() }); var Pl = {}; le(Pl, { default: () => jt }); function jt(...i) { let [, ...e] = Hr(i[0]); return gs([...i, ...e]) } var ys = _(() => { l(); _l(); Tl() }); function Qr(i) { return typeof i == "object" && i !== null } function Vy(i) { return Object.keys(i).length === 0 } function Dl(i) { return typeof i == "string" || i instanceof String } function ws(i) { if (Qr(i) && i.config === void 0 && !Vy(i)) return null; if (Qr(i) && i.config !== void 0 && Dl(i.config)) return ee.resolve(i.config); if (Qr(i) && i.config !== void 0 && Qr(i.config)) return null; if (Dl(i)) return ee.resolve(i); for (let e of ["./tailwind.config.js", "./tailwind.config.cjs"]) try { let t = ee.resolve(e); return ge.accessSync(t), t } catch (t) { } return null } var ql = _(() => { l(); it(); Ve() }); function Wy(i) { if (i === void 0) return !1; if (i === "true" || i === "1") return !0; if (i === "false" || i === "0") return !1; if (i === "*") return !0; let e = i.split(",").map(t => t.split(":")[0]); return e.includes("-tailwindcss") ? !1 : !!e.includes("tailwindcss") } var ue, Il, Rl, Jr, Ee, He = _(() => { l(); ue = { NODE_ENV: "production", DEBUG: Wy(h.env.DEBUG) }, Il = new Map, Rl = new Map, Jr = new Map, Ee = new String("*") }); var Ml = {}; le(Ml, { default: () => bs }); var bs, vs = _(() => { l(); bs = { parse: i => ({ href: i }) } }); var Nl = {}; le(Nl, { default: () => Gy }); var Gy, Ll = _(() => { l(); Gy = new Proxy({}, { get: () => String }) }); var xs = w(() => { l() }); var Xr = w((ZA, zl) => {
l(); "use strict"; var Bl = (Ll(), Nl), Fl = xs(), nt = class extends Error {
constructor(e, t, r, s, n, o) { super(e); this.name = "CssSyntaxError", this.reason = e, n && (this.file = n), s && (this.source = s), o && (this.plugin = o), typeof t != "undefined" && typeof r != "undefined" && (typeof t == "number" ? (this.line = t, this.column = r) : (this.line = t.line, this.column = t.column, this.endLine = r.line, this.endColumn = r.column)), this.setMessage(), Error.captureStackTrace && Error.captureStackTrace(this, nt) } setMessage() { this.message = this.plugin ? this.plugin + ": " : "", this.message += this.file ? this.file : "<css input>", typeof this.line != "undefined" && (this.message += ":" + this.line + ":" + this.column), this.message += ": " + this.reason } showSourceCode(e) {
if (!this.source) return ""; let t = this.source; e == null && (e = Bl.isColorSupported), Fl && e && (t = Fl(t)); let r = t.split(/\r?\n/), s = Math.max(this.line - 3, 0), n = Math.min(this.line + 2, r.length), o = String(n).length, a, f; if (e) { let { bold: c, red: u, gray: p } = Bl.createColors(!0); a = d => c(u(d)), f = d => p(d) } else a = f = c => c; return r.slice(s, n).map((c, u) => {
let p = s + 1 + u, d = " " + (" " + p).slice(-o) + " | "; if (p === this.line) {
let g = f(d.replace(/\d/g, " ")) + c.slice(0, this.column - 1).replace(/[^\t]/g, " "); return a(">") + f(d) + c + `
`+ g + a("^")
} return " " + f(d) + c
}).join(`
`)
} toString() {
let e = this.showSourceCode(); return e && (e = `
`+ e + `
`), this.name + ": " + this.message + e
}
}; zl.exports = nt; nt.default = nt
}); var Kr = w((eE, ks) => { l(); "use strict"; ks.exports.isClean = Symbol("isClean"); ks.exports.my = Symbol("my") }); var Ss = w((tE, jl) => {
l(); "use strict"; var $l = {
colon: ": ", indent: " ", beforeDecl: `
`, beforeRule: `
`, beforeOpen: " ", beforeClose: `
`, beforeComment: `
`, after: `
`, emptyBody: "", commentLeft: " ", commentRight: " ", semicolon: !1
}; function Yy(i) { return i[0].toUpperCase() + i.slice(1) } var Zr = class {
constructor(e) { this.builder = e } stringify(e, t) { if (!this[e.type]) throw new Error("Unknown AST node type " + e.type + ". Maybe you need to change PostCSS stringifier."); this[e.type](e, t) } document(e) { this.body(e) } root(e) { this.body(e), e.raws.after && this.builder(e.raws.after) } comment(e) { let t = this.raw(e, "left", "commentLeft"), r = this.raw(e, "right", "commentRight"); this.builder("/*" + t + e.text + r + "*/", e) } decl(e, t) { let r = this.raw(e, "between", "colon"), s = e.prop + r + this.rawValue(e, "value"); e.important && (s += e.raws.important || " !important"), t && (s += ";"), this.builder(s, e) } rule(e) { this.block(e, this.rawValue(e, "selector")), e.raws.ownSemicolon && this.builder(e.raws.ownSemicolon, e, "end") } atrule(e, t) { let r = "@" + e.name, s = e.params ? this.rawValue(e, "params") : ""; if (typeof e.raws.afterName != "undefined" ? r += e.raws.afterName : s && (r += " "), e.nodes) this.block(e, r + s); else { let n = (e.raws.between || "") + (t ? ";" : ""); this.builder(r + s + n, e) } } body(e) { let t = e.nodes.length - 1; for (; t > 0 && e.nodes[t].type === "comment";)t -= 1; let r = this.raw(e, "semicolon"); for (let s = 0; s < e.nodes.length; s++) { let n = e.nodes[s], o = this.raw(n, "before"); o && this.builder(o), this.stringify(n, t !== s || r) } } block(e, t) { let r = this.raw(e, "between", "beforeOpen"); this.builder(t + r + "{", e, "start"); let s; e.nodes && e.nodes.length ? (this.body(e), s = this.raw(e, "after")) : s = this.raw(e, "after", "emptyBody"), s && this.builder(s), this.builder("}", e, "end") } raw(e, t, r) { let s; if (r || (r = t), t && (s = e.raws[t], typeof s != "undefined")) return s; let n = e.parent; if (r === "before" && (!n || n.type === "root" && n.first === e || n && n.type === "document")) return ""; if (!n) return $l[r]; let o = e.root(); if (o.rawCache || (o.rawCache = {}), typeof o.rawCache[r] != "undefined") return o.rawCache[r]; if (r === "before" || r === "after") return this.beforeAfter(e, r); { let a = "raw" + Yy(r); this[a] ? s = this[a](o, e) : o.walk(f => { if (s = f.raws[t], typeof s != "undefined") return !1 }) } return typeof s == "undefined" && (s = $l[r]), o.rawCache[r] = s, s } rawSemicolon(e) { let t; return e.walk(r => { if (r.nodes && r.nodes.length && r.last.type === "decl" && (t = r.raws.semicolon, typeof t != "undefined")) return !1 }), t } rawEmptyBody(e) { let t; return e.walk(r => { if (r.nodes && r.nodes.length === 0 && (t = r.raws.after, typeof t != "undefined")) return !1 }), t } rawIndent(e) {
if (e.raws.indent) return e.raws.indent; let t; return e.walk(r => {
let s = r.parent; if (s && s !== e && s.parent && s.parent === e && typeof r.raws.before != "undefined") {
let n = r.raws.before.split(`
`); return t = n[n.length - 1], t = t.replace(/\S/g, ""), !1
}
}), t
} rawBeforeComment(e, t) {
let r; return e.walkComments(s => {
if (typeof s.raws.before != "undefined") return r = s.raws.before, r.includes(`
`) && (r = r.replace(/[^\n]+$/, "")), !1
}), typeof r == "undefined" ? r = this.raw(t, null, "beforeDecl") : r && (r = r.replace(/\S/g, "")), r
} rawBeforeDecl(e, t) {
let r; return e.walkDecls(s => {
if (typeof s.raws.before != "undefined") return r = s.raws.before, r.includes(`
`) && (r = r.replace(/[^\n]+$/, "")), !1
}), typeof r == "undefined" ? r = this.raw(t, null, "beforeRule") : r && (r = r.replace(/\S/g, "")), r
} rawBeforeRule(e) {
let t; return e.walk(r => {
if (r.nodes && (r.parent !== e || e.first !== r) && typeof r.raws.before != "undefined") return t = r.raws.before, t.includes(`
`) && (t = t.replace(/[^\n]+$/, "")), !1
}), t && (t = t.replace(/\S/g, "")), t
} rawBeforeClose(e) {
let t; return e.walk(r => {
if (r.nodes && r.nodes.length > 0 && typeof r.raws.after != "undefined") return t = r.raws.after, t.includes(`
`) && (t = t.replace(/[^\n]+$/, "")), !1
}), t && (t = t.replace(/\S/g, "")), t
} rawBeforeOpen(e) { let t; return e.walk(r => { if (r.type !== "decl" && (t = r.raws.between, typeof t != "undefined")) return !1 }), t } rawColon(e) { let t; return e.walkDecls(r => { if (typeof r.raws.between != "undefined") return t = r.raws.between.replace(/[^\s:]/g, ""), !1 }), t } beforeAfter(e, t) {
let r; e.type === "decl" ? r = this.raw(e, null, "beforeDecl") : e.type === "comment" ? r = this.raw(e, null, "beforeComment") : t === "before" ? r = this.raw(e, null, "beforeRule") : r = this.raw(e, null, "beforeClose"); let s = e.parent, n = 0; for (; s && s.type !== "root";)n += 1, s = s.parent; if (r.includes(`
`)) { let o = this.raw(e, null, "indent"); if (o.length) for (let a = 0; a < n; a++)r += o } return r
} rawValue(e, t) { let r = e[t], s = e.raws[t]; return s && s.value === r ? s.raw : r }
}; jl.exports = Zr; Zr.default = Zr
}); var Ut = w((rE, Ul) => { l(); "use strict"; var Hy = Ss(); function _s(i, e) { new Hy(e).stringify(i) } Ul.exports = _s; _s.default = _s }); var Vt = w((iE, Vl) => {
l(); "use strict"; var { isClean: ei, my: Qy } = Kr(), Jy = Xr(), Xy = Ss(), Ky = Ut(); function Cs(i, e) { let t = new i.constructor; for (let r in i) { if (!Object.prototype.hasOwnProperty.call(i, r) || r === "proxyCache") continue; let s = i[r], n = typeof s; r === "parent" && n === "object" ? e && (t[r] = e) : r === "source" ? t[r] = s : Array.isArray(s) ? t[r] = s.map(o => Cs(o, t)) : (n === "object" && s !== null && (s = Cs(s)), t[r] = s) } return t } var ti = class {
constructor(e = {}) { this.raws = {}, this[ei] = !1, this[Qy] = !0; for (let t in e) if (t === "nodes") { this.nodes = []; for (let r of e[t]) typeof r.clone == "function" ? this.append(r.clone()) : this.append(r) } else this[t] = e[t] } error(e, t = {}) { if (this.source) { let { start: r, end: s } = this.rangeBy(t); return this.source.input.error(e, { line: r.line, column: r.column }, { line: s.line, column: s.column }, t) } return new Jy(e) } warn(e, t, r) { let s = { node: this }; for (let n in r) s[n] = r[n]; return e.warn(t, s) } remove() { return this.parent && this.parent.removeChild(this), this.parent = void 0, this } toString(e = Ky) { e.stringify && (e = e.stringify); let t = ""; return e(this, r => { t += r }), t } assign(e = {}) { for (let t in e) this[t] = e[t]; return this } clone(e = {}) { let t = Cs(this); for (let r in e) t[r] = e[r]; return t } cloneBefore(e = {}) { let t = this.clone(e); return this.parent.insertBefore(this, t), t } cloneAfter(e = {}) { let t = this.clone(e); return this.parent.insertAfter(this, t), t } replaceWith(...e) { if (this.parent) { let t = this, r = !1; for (let s of e) s === this ? r = !0 : r ? (this.parent.insertAfter(t, s), t = s) : this.parent.insertBefore(t, s); r || this.remove() } return this } next() { if (!this.parent) return; let e = this.parent.index(this); return this.parent.nodes[e + 1] } prev() { if (!this.parent) return; let e = this.parent.index(this); return this.parent.nodes[e - 1] } before(e) { return this.parent.insertBefore(this, e), this } after(e) { return this.parent.insertAfter(this, e), this } root() { let e = this; for (; e.parent && e.parent.type !== "document";)e = e.parent; return e } raw(e, t) { return new Xy().raw(this, e, t) } cleanRaws(e) { delete this.raws.before, delete this.raws.after, e || delete this.raws.between } toJSON(e, t) { let r = {}, s = t == null; t = t || new Map; let n = 0; for (let o in this) { if (!Object.prototype.hasOwnProperty.call(this, o) || o === "parent" || o === "proxyCache") continue; let a = this[o]; if (Array.isArray(a)) r[o] = a.map(f => typeof f == "object" && f.toJSON ? f.toJSON(null, t) : f); else if (typeof a == "object" && a.toJSON) r[o] = a.toJSON(null, t); else if (o === "source") { let f = t.get(a.input); f == null && (f = n, t.set(a.input, n), n++), r[o] = { inputId: f, start: a.start, end: a.end } } else r[o] = a } return s && (r.inputs = [...t.keys()].map(o => o.toJSON())), r } positionInside(e) {
let t = this.toString(), r = this.source.start.column, s = this.source.start.line; for (let n = 0; n < e; n++)t[n] === `
`? (r = 1, s += 1) : r += 1; return { line: s, column: r }
} positionBy(e) { let t = this.source.start; if (e.index) t = this.positionInside(e.index); else if (e.word) { let r = this.toString().indexOf(e.word); r !== -1 && (t = this.positionInside(r)) } return t } rangeBy(e) { let t = { line: this.source.start.line, column: this.source.start.column }, r = this.source.end ? { line: this.source.end.line, column: this.source.end.column + 1 } : { line: t.line, column: t.column + 1 }; if (e.word) { let s = this.toString().indexOf(e.word); s !== -1 && (t = this.positionInside(s), r = this.positionInside(s + e.word.length)) } else e.start ? t = { line: e.start.line, column: e.start.column } : e.index && (t = this.positionInside(e.index)), e.end ? r = { line: e.end.line, column: e.end.column } : e.endIndex ? r = this.positionInside(e.endIndex) : e.index && (r = this.positionInside(e.index + 1)); return (r.line < t.line || r.line === t.line && r.column <= t.column) && (r = { line: t.line, column: t.column + 1 }), { start: t, end: r } } getProxyProcessor() { return { set(e, t, r) { return e[t] === r || (e[t] = r, (t === "prop" || t === "value" || t === "name" || t === "params" || t === "important" || t === "text") && e.markDirty()), !0 }, get(e, t) { return t === "proxyOf" ? e : t === "root" ? () => e.root().toProxy() : e[t] } } } toProxy() { return this.proxyCache || (this.proxyCache = new Proxy(this, this.getProxyProcessor())), this.proxyCache } addToError(e) { if (e.postcssNode = this, e.stack && this.source && /\n\s{4}at /.test(e.stack)) { let t = this.source; e.stack = e.stack.replace(/\n\s{4}at /, `$&${t.input.from}:${t.start.line}:${t.start.column}$&`) } return e } markDirty() { if (this[ei]) { this[ei] = !1; let e = this; for (; e = e.parent;)e[ei] = !1 } } get proxyOf() { return this }
}; Vl.exports = ti; ti.default = ti
}); var Wt = w((sE, Wl) => { l(); "use strict"; var Zy = Vt(), ri = class extends Zy { constructor(e) { e && typeof e.value != "undefined" && typeof e.value != "string" && (e = { ...e, value: String(e.value) }); super(e); this.type = "decl" } get variable() { return this.prop.startsWith("--") || this.prop[0] === "$" } }; Wl.exports = ri; ri.default = ri }); var As = w((nE, Gl) => { l(); Gl.exports = function (i, e) { return { generate: () => { let t = ""; return i(e, r => { t += r }), [t] } } } }); var Gt = w((oE, Yl) => { l(); "use strict"; var ew = Vt(), ii = class extends ew { constructor(e) { super(e); this.type = "comment" } }; Yl.exports = ii; ii.default = ii }); var Me = w((aE, tu) => { l(); "use strict"; var { isClean: Hl, my: Ql } = Kr(), Jl = Wt(), Xl = Gt(), tw = Vt(), Kl, Es, Os; function Zl(i) { return i.map(e => (e.nodes && (e.nodes = Zl(e.nodes)), delete e.source, e)) } function eu(i) { if (i[Hl] = !1, i.proxyOf.nodes) for (let e of i.proxyOf.nodes) eu(e) } var fe = class extends tw { push(e) { return e.parent = this, this.proxyOf.nodes.push(e), this } each(e) { if (!this.proxyOf.nodes) return; let t = this.getIterator(), r, s; for (; this.indexes[t] < this.proxyOf.nodes.length && (r = this.indexes[t], s = e(this.proxyOf.nodes[r], r), s !== !1);)this.indexes[t] += 1; return delete this.indexes[t], s } walk(e) { return this.each((t, r) => { let s; try { s = e(t, r) } catch (n) { throw t.addToError(n) } return s !== !1 && t.walk && (s = t.walk(e)), s }) } walkDecls(e, t) { return t ? e instanceof RegExp ? this.walk((r, s) => { if (r.type === "decl" && e.test(r.prop)) return t(r, s) }) : this.walk((r, s) => { if (r.type === "decl" && r.prop === e) return t(r, s) }) : (t = e, this.walk((r, s) => { if (r.type === "decl") return t(r, s) })) } walkRules(e, t) { return t ? e instanceof RegExp ? this.walk((r, s) => { if (r.type === "rule" && e.test(r.selector)) return t(r, s) }) : this.walk((r, s) => { if (r.type === "rule" && r.selector === e) return t(r, s) }) : (t = e, this.walk((r, s) => { if (r.type === "rule") return t(r, s) })) } walkAtRules(e, t) { return t ? e instanceof RegExp ? this.walk((r, s) => { if (r.type === "atrule" && e.test(r.name)) return t(r, s) }) : this.walk((r, s) => { if (r.type === "atrule" && r.name === e) return t(r, s) }) : (t = e, this.walk((r, s) => { if (r.type === "atrule") return t(r, s) })) } walkComments(e) { return this.walk((t, r) => { if (t.type === "comment") return e(t, r) }) } append(...e) { for (let t of e) { let r = this.normalize(t, this.last); for (let s of r) this.proxyOf.nodes.push(s) } return this.markDirty(), this } prepend(...e) { e = e.reverse(); for (let t of e) { let r = this.normalize(t, this.first, "prepend").reverse(); for (let s of r) this.proxyOf.nodes.unshift(s); for (let s in this.indexes) this.indexes[s] = this.indexes[s] + r.length } return this.markDirty(), this } cleanRaws(e) { if (super.cleanRaws(e), this.nodes) for (let t of this.nodes) t.cleanRaws(e) } insertBefore(e, t) { e = this.index(e); let r = e === 0 ? "prepend" : !1, s = this.normalize(t, this.proxyOf.nodes[e], r).reverse(); for (let o of s) this.proxyOf.nodes.splice(e, 0, o); let n; for (let o in this.indexes) n = this.indexes[o], e <= n && (this.indexes[o] = n + s.length); return this.markDirty(), this } insertAfter(e, t) { e = this.index(e); let r = this.normalize(t, this.proxyOf.nodes[e]).reverse(); for (let n of r) this.proxyOf.nodes.splice(e + 1, 0, n); let s; for (let n in this.indexes) s = this.indexes[n], e < s && (this.indexes[n] = s + r.length); return this.markDirty(), this } removeChild(e) { e = this.index(e), this.proxyOf.nodes[e].parent = void 0, this.proxyOf.nodes.splice(e, 1); let t; for (let r in this.indexes) t = this.indexes[r], t >= e && (this.indexes[r] = t - 1); return this.markDirty(), this } removeAll() { for (let e of this.proxyOf.nodes) e.parent = void 0; return this.proxyOf.nodes = [], this.markDirty(), this } replaceValues(e, t, r) { return r || (r = t, t = {}), this.walkDecls(s => { t.props && !t.props.includes(s.prop) || t.fast && !s.value.includes(t.fast) || (s.value = s.value.replace(e, r)) }), this.markDirty(), this } every(e) { return this.nodes.every(e) } some(e) { return this.nodes.some(e) } index(e) { return typeof e == "number" ? e : (e.proxyOf && (e = e.proxyOf), this.proxyOf.nodes.indexOf(e)) } get first() { if (!!this.proxyOf.nodes) return this.proxyOf.nodes[0] } get last() { if (!!this.proxyOf.nodes) return this.proxyOf.nodes[this.proxyOf.nodes.length - 1] } normalize(e, t) { if (typeof e == "string") e = Zl(Kl(e).nodes); else if (Array.isArray(e)) { e = e.slice(0); for (let s of e) s.parent && s.parent.removeChild(s, "ignore") } else if (e.type === "root" && this.type !== "document") { e = e.nodes.slice(0); for (let s of e) s.parent && s.parent.removeChild(s, "ignore") } else if (e.type) e = [e]; else if (e.prop) { if (typeof e.value == "undefined") throw new Error("Value field is missed in node creation"); typeof e.value != "string" && (e.value = String(e.value)), e = [new Jl(e)] } else if (e.selector) e = [new Es(e)]; else if (e.name) e = [new Os(e)]; else if (e.text) e = [new Xl(e)]; else throw new Error("Unknown node type in node creation"); return e.map(s => (s[Ql] || fe.rebuild(s), s = s.proxyOf, s.parent && s.parent.removeChild(s), s[Hl] && eu(s), typeof s.raws.before == "undefined" && t && typeof t.raws.before != "undefined" && (s.raws.before = t.raws.before.replace(/\S/g, "")), s.parent = this, s)) } getProxyProcessor() { return { set(e, t, r) { return e[t] === r || (e[t] = r, (t === "name" || t === "params" || t === "selector") && e.markDirty()), !0 }, get(e, t) { return t === "proxyOf" ? e : e[t] ? t === "each" || typeof t == "string" && t.startsWith("walk") ? (...r) => e[t](...r.map(s => typeof s == "function" ? (n, o) => s(n.toProxy(), o) : s)) : t === "every" || t === "some" ? r => e[t]((s, ...n) => r(s.toProxy(), ...n)) : t === "root" ? () => e.root().toProxy() : t === "nodes" ? e.nodes.map(r => r.toProxy()) : t === "first" || t === "last" ? e[t].toProxy() : e[t] : e[t] } } } getIterator() { this.lastEach || (this.lastEach = 0), this.indexes || (this.indexes = {}), this.lastEach += 1; let e = this.lastEach; return this.indexes[e] = 0, e } }; fe.registerParse = i => { Kl = i }; fe.registerRule = i => { Es = i }; fe.registerAtRule = i => { Os = i }; tu.exports = fe; fe.default = fe; fe.rebuild = i => { i.type === "atrule" ? Object.setPrototypeOf(i, Os.prototype) : i.type === "rule" ? Object.setPrototypeOf(i, Es.prototype) : i.type === "decl" ? Object.setPrototypeOf(i, Jl.prototype) : i.type === "comment" && Object.setPrototypeOf(i, Xl.prototype), i[Ql] = !0, i.nodes && i.nodes.forEach(e => { fe.rebuild(e) }) } }); var si = w((lE, su) => { l(); "use strict"; var rw = Me(), ru, iu, ot = class extends rw { constructor(e) { super({ type: "document", ...e }); this.nodes || (this.nodes = []) } toResult(e = {}) { return new ru(new iu, this, e).stringify() } }; ot.registerLazyResult = i => { ru = i }; ot.registerProcessor = i => { iu = i }; su.exports = ot; ot.default = ot }); var Ts = w((uE, ou) => { l(); "use strict"; var nu = {}; ou.exports = function (e) { nu[e] || (nu[e] = !0, typeof console != "undefined" && console.warn && console.warn(e)) } }); var Ps = w((fE, au) => { l(); "use strict"; var ni = class { constructor(e, t = {}) { if (this.type = "warning", this.text = e, t.node && t.node.source) { let r = t.node.rangeBy(t); this.line = r.start.line, this.column = r.start.column, this.endLine = r.end.line, this.endColumn = r.end.column } for (let r in t) this[r] = t[r] } toString() { return this.node ? this.node.error(this.text, { plugin: this.plugin, index: this.index, word: this.word }).message : this.plugin ? this.plugin + ": " + this.text : this.text } }; au.exports = ni; ni.default = ni }); var ai = w((cE, lu) => { l(); "use strict"; var iw = Ps(), oi = class { constructor(e, t, r) { this.processor = e, this.messages = [], this.root = t, this.opts = r, this.css = void 0, this.map = void 0 } toString() { return this.css } warn(e, t = {}) { t.plugin || this.lastPlugin && this.lastPlugin.postcssPlugin && (t.plugin = this.lastPlugin.postcssPlugin); let r = new iw(e, t); return this.messages.push(r), r } warnings() { return this.messages.filter(e => e.type === "warning") } get content() { return this.css } }; lu.exports = oi; oi.default = oi }); var du = w((pE, pu) => {
l(); "use strict"; var Ds = "'".charCodeAt(0), uu = '"'.charCodeAt(0), li = "\\".charCodeAt(0), fu = "/".charCodeAt(0), ui = `
`.charCodeAt(0), Yt = " ".charCodeAt(0), fi = "\f".charCodeAt(0), ci = " ".charCodeAt(0), pi = "\r".charCodeAt(0), sw = "[".charCodeAt(0), nw = "]".charCodeAt(0), ow = "(".charCodeAt(0), aw = ")".charCodeAt(0), lw = "{".charCodeAt(0), uw = "}".charCodeAt(0), fw = ";".charCodeAt(0), cw = "*".charCodeAt(0), pw = ":".charCodeAt(0), dw = "@".charCodeAt(0), di = /[\t\n\f\r "#'()/;[\\\]{}]/g, hi = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g, hw = /.[\n"'(/\\]/, cu = /[\da-f]/i; pu.exports = function (e, t = {}) { let r = e.css.valueOf(), s = t.ignoreErrors, n, o, a, f, c, u, p, d, g, y, x = r.length, b = 0, v = [], S = []; function T() { return b } function P(Y) { throw e.error("Unclosed " + Y, b) } function I() { return S.length === 0 && b >= x } function G(Y) { if (S.length) return S.pop(); if (b >= x) return; let Nt = Y ? Y.ignoreUnclosed : !1; switch (n = r.charCodeAt(b), n) { case ui: case Yt: case ci: case pi: case fi: { o = b; do o += 1, n = r.charCodeAt(o); while (n === Yt || n === ui || n === ci || n === pi || n === fi); y = ["space", r.slice(b, o)], b = o - 1; break } case sw: case nw: case lw: case uw: case pw: case fw: case aw: { let Nr = String.fromCharCode(n); y = [Nr, Nr, b]; break } case ow: { if (d = v.length ? v.pop()[1] : "", g = r.charCodeAt(b + 1), d === "url" && g !== Ds && g !== uu && g !== Yt && g !== ui && g !== ci && g !== fi && g !== pi) { o = b; do { if (u = !1, o = r.indexOf(")", o + 1), o === -1) if (s || Nt) { o = b; break } else P("bracket"); for (p = o; r.charCodeAt(p - 1) === li;)p -= 1, u = !u } while (u); y = ["brackets", r.slice(b, o + 1), b, o], b = o } else o = r.indexOf(")", b + 1), f = r.slice(b, o + 1), o === -1 || hw.test(f) ? y = ["(", "(", b] : (y = ["brackets", f, b, o], b = o); break } case Ds: case uu: { a = n === Ds ? "'" : '"', o = b; do { if (u = !1, o = r.indexOf(a, o + 1), o === -1) if (s || Nt) { o = b + 1; break } else P("string"); for (p = o; r.charCodeAt(p - 1) === li;)p -= 1, u = !u } while (u); y = ["string", r.slice(b, o + 1), b, o], b = o; break } case dw: { di.lastIndex = b + 1, di.test(r), di.lastIndex === 0 ? o = r.length - 1 : o = di.lastIndex - 2, y = ["at-word", r.slice(b, o + 1), b, o], b = o; break } case li: { for (o = b, c = !0; r.charCodeAt(o + 1) === li;)o += 1, c = !c; if (n = r.charCodeAt(o + 1), c && n !== fu && n !== Yt && n !== ui && n !== ci && n !== pi && n !== fi && (o += 1, cu.test(r.charAt(o)))) { for (; cu.test(r.charAt(o + 1));)o += 1; r.charCodeAt(o + 1) === Yt && (o += 1) } y = ["word", r.slice(b, o + 1), b, o], b = o; break } default: { n === fu && r.charCodeAt(b + 1) === cw ? (o = r.indexOf("*/", b + 2) + 1, o === 0 && (s || Nt ? o = r.length : P("comment")), y = ["comment", r.slice(b, o + 1), b, o], b = o) : (hi.lastIndex = b + 1, hi.test(r), hi.lastIndex === 0 ? o = r.length - 1 : o = hi.lastIndex - 2, y = ["word", r.slice(b, o + 1), b, o], v.push(y), b = o); break } }return b++, y } function me(Y) { S.push(Y) } return { back: me, nextToken: G, endOfFile: I, position: T } }
}); var mi = w((dE, mu) => { l(); "use strict"; var hu = Me(), Ht = class extends hu { constructor(e) { super(e); this.type = "atrule" } append(...e) { return this.proxyOf.nodes || (this.nodes = []), super.append(...e) } prepend(...e) { return this.proxyOf.nodes || (this.nodes = []), super.prepend(...e) } }; mu.exports = Ht; Ht.default = Ht; hu.registerAtRule(Ht) }); var lt = w((hE, wu) => { l(); "use strict"; var mw = Me(), gu, yu, at = class extends mw { constructor(e) { super(e); this.type = "root", this.nodes || (this.nodes = []) } removeChild(e, t) { let r = this.index(e); return !t && r === 0 && this.nodes.length > 1 && (this.nodes[1].raws.before = this.nodes[r].raws.before), super.removeChild(e) } normalize(e, t, r) { let s = super.normalize(e); if (t) { if (r === "prepend") this.nodes.length > 1 ? t.raws.before = this.nodes[1].raws.before : delete t.raws.before; else if (this.first !== t) for (let n of s) n.raws.before = t.raws.before } return s } toResult(e = {}) { return new gu(new yu, this, e).stringify() } }; at.registerLazyResult = i => { gu = i }; at.registerProcessor = i => { yu = i }; wu.exports = at; at.default = at }); var qs = w((mE, bu) => {
l(); "use strict"; var Qt = {
split(i, e, t) { let r = [], s = "", n = !1, o = 0, a = !1, f = !1; for (let c of i) f ? f = !1 : c === "\\" ? f = !0 : a ? c === a && (a = !1) : c === '"' || c === "'" ? a = c : c === "(" ? o += 1 : c === ")" ? o > 0 && (o -= 1) : o === 0 && e.includes(c) && (n = !0), n ? (s !== "" && r.push(s.trim()), s = "", n = !1) : s += c; return (t || s !== "") && r.push(s.trim()), r }, space(i) {
let e = [" ", `
`, " "]; return Qt.split(i, e)
}, comma(i) { return Qt.split(i, [","], !0) }
}; bu.exports = Qt; Qt.default = Qt
}); var gi = w((gE, xu) => { l(); "use strict"; var vu = Me(), gw = qs(), Jt = class extends vu { constructor(e) { super(e); this.type = "rule", this.nodes || (this.nodes = []) } get selectors() { return gw.comma(this.selector) } set selectors(e) { let t = this.selector ? this.selector.match(/,\s*/) : null, r = t ? t[0] : "," + this.raw("between", "beforeOpen"); this.selector = e.join(r) } }; xu.exports = Jt; Jt.default = Jt; vu.registerRule(Jt) }); var Cu = w((yE, _u) => { l(); "use strict"; var yw = Wt(), ww = du(), bw = Gt(), vw = mi(), xw = lt(), ku = gi(), Su = class { constructor(e) { this.input = e, this.root = new xw, this.current = this.root, this.spaces = "", this.semicolon = !1, this.customProperty = !1, this.createTokenizer(), this.root.source = { input: e, start: { offset: 0, line: 1, column: 1 } } } createTokenizer() { this.tokenizer = ww(this.input) } parse() { let e; for (; !this.tokenizer.endOfFile();)switch (e = this.tokenizer.nextToken(), e[0]) { case "space": this.spaces += e[1]; break; case ";": this.freeSemicolon(e); break; case "}": this.end(e); break; case "comment": this.comment(e); break; case "at-word": this.atrule(e); break; case "{": this.emptyRule(e); break; default: this.other(e); break }this.endFile() } comment(e) { let t = new bw; this.init(t, e[2]), t.source.end = this.getPosition(e[3] || e[2]); let r = e[1].slice(2, -2); if (/^\s*$/.test(r)) t.text = "", t.raws.left = r, t.raws.right = ""; else { let s = r.match(/^(\s*)([^]*\S)(\s*)$/); t.text = s[2], t.raws.left = s[1], t.raws.right = s[3] } } emptyRule(e) { let t = new ku; this.init(t, e[2]), t.selector = "", t.raws.between = "", this.current = t } other(e) { let t = !1, r = null, s = !1, n = null, o = [], a = e[1].startsWith("--"), f = [], c = e; for (; c;) { if (r = c[0], f.push(c), r === "(" || r === "[") n || (n = c), o.push(r === "(" ? ")" : "]"); else if (a && s && r === "{") n || (n = c), o.push("}"); else if (o.length === 0) if (r === ";") if (s) { this.decl(f, a); return } else break; else if (r === "{") { this.rule(f); return } else if (r === "}") { this.tokenizer.back(f.pop()), t = !0; break } else r === ":" && (s = !0); else r === o[o.length - 1] && (o.pop(), o.length === 0 && (n = null)); c = this.tokenizer.nextToken() } if (this.tokenizer.endOfFile() && (t = !0), o.length > 0 && this.unclosedBracket(n), t && s) { if (!a) for (; f.length && (c = f[f.length - 1][0], !(c !== "space" && c !== "comment"));)this.tokenizer.back(f.pop()); this.decl(f, a) } else this.unknownWord(f) } rule(e) { e.pop(); let t = new ku; this.init(t, e[0][2]), t.raws.between = this.spacesAndCommentsFromEnd(e), this.raw(t, "selector", e), this.current = t } decl(e, t) { let r = new yw; this.init(r, e[0][2]); let s = e[e.length - 1]; for (s[0] === ";" && (this.semicolon = !0, e.pop()), r.source.end = this.getPosition(s[3] || s[2]); e[0][0] !== "word";)e.length === 1 && this.unknownWord(e), r.raws.before += e.shift()[1]; for (r.source.start = this.getPosition(e[0][2]), r.prop = ""; e.length;) { let c = e[0][0]; if (c === ":" || c === "space" || c === "comment") break; r.prop += e.shift()[1] } r.raws.between = ""; let n; for (; e.length;)if (n = e.shift(), n[0] === ":") { r.raws.between += n[1]; break } else n[0] === "word" && /\w/.test(n[1]) && this.unknownWord([n]), r.raws.between += n[1]; (r.prop[0] === "_" || r.prop[0] === "*") && (r.raws.before += r.prop[0], r.prop = r.prop.slice(1)); let o = [], a; for (; e.length && (a = e[0][0], !(a !== "space" && a !== "comment"));)o.push(e.shift()); this.precheckMissedSemicolon(e); for (let c = e.length - 1; c >= 0; c--) { if (n = e[c], n[1].toLowerCase() === "!important") { r.important = !0; let u = this.stringFrom(e, c); u = this.spacesFromEnd(e) + u, u !== " !important" && (r.raws.important = u); break } else if (n[1].toLowerCase() === "important") { let u = e.slice(0), p = ""; for (let d = c; d > 0; d--) { let g = u[d][0]; if (p.trim().indexOf("!") === 0 && g !== "space") break; p = u.pop()[1] + p } p.trim().indexOf("!") === 0 && (r.important = !0, r.raws.important = p, e = u) } if (n[0] !== "space" && n[0] !== "comment") break } e.some(c => c[0] !== "space" && c[0] !== "comment") && (r.raws.between += o.map(c => c[1]).join(""), o = []), this.raw(r, "value", o.concat(e), t), r.value.includes(":") && !t && this.checkMissedSemicolon(e) } atrule(e) { let t = new vw; t.name = e[1].slice(1), t.name === "" && this.unnamedAtrule(t, e), this.init(t, e[2]); let r, s, n, o = !1, a = !1, f = [], c = []; for (; !this.tokenizer.endOfFile();) { if (e = this.tokenizer.nextToken(), r = e[0], r === "(" || r === "[" ? c.push(r === "(" ? ")" : "]") : r === "{" && c.length > 0 ? c.push("}") : r === c[c.length - 1] && c.pop(), c.length === 0) if (r === ";") { t.source.end = this.getPosition(e[2]), this.semicolon = !0; break } else if (r === "{") { a = !0; break } else if (r === "}") { if (f.length > 0) { for (n = f.length - 1, s = f[n]; s && s[0] === "space";)s = f[--n]; s && (t.source.end = this.getPosition(s[3] || s[2])) } this.end(e); break } else f.push(e); else f.push(e); if (this.tokenizer.endOfFile()) { o = !0; break } } t.raws.between = this.spacesAndCommentsFromEnd(f), f.length ? (t.raws.afterName = this.spacesAndCommentsFromStart(f), this.raw(t, "params", f), o && (e = f[f.length - 1], t.source.end = this.getPosition(e[3] || e[2]), this.spaces = t.raws.between, t.raws.between = "")) : (t.raws.afterName = "", t.params = ""), a && (t.nodes = [], this.current = t) } end(e) { this.current.nodes && this.current.nodes.length && (this.current.raws.semicolon = this.semicolon), this.semicolon = !1, this.current.raws.after = (this.current.raws.after || "") + this.spaces, this.spaces = "", this.current.parent ? (this.current.source.end = this.getPosition(e[2]), this.current = this.current.parent) : this.unexpectedClose(e) } endFile() { this.current.parent && this.unclosedBlock(), this.current.nodes && this.current.nodes.length && (this.current.raws.semicolon = this.semicolon), this.current.raws.after = (this.current.raws.after || "") + this.spaces } freeSemicolon(e) { if (this.spaces += e[1], this.current.nodes) { let t = this.current.nodes[this.current.nodes.length - 1]; t && t.type === "rule" && !t.raws.ownSemicolon && (t.raws.ownSemicolon = this.spaces, this.spaces = "") } } getPosition(e) { let t = this.input.fromOffset(e); return { offset: e, line: t.line, column: t.col } } init(e, t) { this.current.push(e), e.source = { start: this.getPosition(t), input: this.input }, e.raws.before = this.spaces, this.spaces = "", e.type !== "comment" && (this.semicolon = !1) } raw(e, t, r, s) { let n, o, a = r.length, f = "", c = !0, u, p; for (let d = 0; d < a; d += 1)n = r[d], o = n[0], o === "space" && d === a - 1 && !s ? c = !1 : o === "comment" ? (p = r[d - 1], u = r[d + 1], p && u && p[0] !== "space" && u[0] !== "space" ? f += n[1] : c = !1) : f += n[1]; if (!c) { let d = r.reduce((g, y) => g + y[1], ""); e.raws[t] = { value: f, raw: d } } e[t] = f } spacesAndCommentsFromEnd(e) { let t, r = ""; for (; e.length && (t = e[e.length - 1][0], !(t !== "space" && t !== "comment"));)r = e.pop()[1] + r; return r } spacesAndCommentsFromStart(e) { let t, r = ""; for (; e.length && (t = e[0][0], !(t !== "space" && t !== "comment"));)r += e.shift()[1]; return r } spacesFromEnd(e) { let t, r = ""; for (; e.length && (t = e[e.length - 1][0], t === "space");)r = e.pop()[1] + r; return r } stringFrom(e, t) { let r = ""; for (let s = t; s < e.length; s++)r += e[s][1]; return e.splice(t, e.length - t), r } colon(e) { let t = 0, r, s, n; for (let [o, a] of e.entries()) { if (r = a, s = r[0], s === "(" && (t += 1), s === ")" && (t -= 1), t === 0 && s === ":") if (!n) this.doubleColon(r); else { if (n[0] === "word" && n[1] === "progid") continue; return o } n = r } return !1 } unclosedBracket(e) { throw this.input.error("Unclosed bracket", { offset: e[2] }, { offset: e[2] + 1 }) } unknownWord(e) { throw this.input.error("Unknown word", { offset: e[0][2] }, { offset: e[0][2] + e[0][1].length }) } unexpectedClose(e) { throw this.input.error("Unexpected }", { offset: e[2] }, { offset: e[2] + 1 }) } unclosedBlock() { let e = this.current.source.start; throw this.input.error("Unclosed block", e.line, e.column) } doubleColon(e) { throw this.input.error("Double colon", { offset: e[2] }, { offset: e[2] + e[1].length }) } unnamedAtrule(e, t) { throw this.input.error("At-rule without name", { offset: t[2] }, { offset: t[2] + t[1].length }) } precheckMissedSemicolon() { } checkMissedSemicolon(e) { let t = this.colon(e); if (t === !1) return; let r = 0, s; for (let n = t - 1; n >= 0 && (s = e[n], !(s[0] !== "space" && (r += 1, r === 2))); n--); throw this.input.error("Missed semicolon", s[0] === "word" ? s[3] + 1 : s[2]) } }; _u.exports = Su }); var Au = w(() => { l() }); var Ou = w((vE, Eu) => { l(); var kw = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Sw = (i, e = 21) => (t = e) => { let r = "", s = t; for (; s--;)r += i[Math.random() * i.length | 0]; return r }, _w = (i = 21) => { let e = "", t = i; for (; t--;)e += kw[Math.random() * 64 | 0]; return e }; Eu.exports = { nanoid: _w, customAlphabet: Sw } }); var Is = w((xE, Tu) => { l(); Tu.exports = {} }); var wi = w((kE, Iu) => {
l(); "use strict"; var { SourceMapConsumer: Cw, SourceMapGenerator: Aw } = Au(), { fileURLToPath: Pu, pathToFileURL: yi } = (vs(), Ml), { resolve: Rs, isAbsolute: Ms } = (Ve(), Za), { nanoid: Ew } = Ou(), Ns = xs(), Du = Xr(), Ow = Is(), Ls = Symbol("fromOffsetCache"), Tw = Boolean(Cw && Aw), qu = Boolean(Rs && Ms), Xt = class {
constructor(e, t = {}) { if (e === null || typeof e == "undefined" || typeof e == "object" && !e.toString) throw new Error(`PostCSS received ${e} instead of CSS string`); if (this.css = e.toString(), this.css[0] === "\uFEFF" || this.css[0] === "\uFFFE" ? (this.hasBOM = !0, this.css = this.css.slice(1)) : this.hasBOM = !1, t.from && (!qu || /^\w+:\/\//.test(t.from) || Ms(t.from) ? this.file = t.from : this.file = Rs(t.from)), qu && Tw) { let r = new Ow(this.css, t); if (r.text) { this.map = r; let s = r.consumer().file; !this.file && s && (this.file = this.mapResolve(s)) } } this.file || (this.id = "<input css " + Ew(6) + ">"), this.map && (this.map.file = this.from) } fromOffset(e) {
let t, r; if (this[Ls]) r = this[Ls]; else {
let n = this.css.split(`
`); r = new Array(n.length); let o = 0; for (let a = 0, f = n.length; a < f; a++)r[a] = o, o += n[a].length + 1; this[Ls] = r
} t = r[r.length - 1]; let s = 0; if (e >= t) s = r.length - 1; else { let n = r.length - 2, o; for (; s < n;)if (o = s + (n - s >> 1), e < r[o]) n = o - 1; else if (e >= r[o + 1]) s = o + 1; else { s = o; break } } return { line: s + 1, col: e - r[s] + 1 }
} error(e, t, r, s = {}) { let n, o, a; if (t && typeof t == "object") { let c = t, u = r; if (typeof t.offset == "number") { let p = this.fromOffset(c.offset); t = p.line, r = p.col } else t = c.line, r = c.column; if (typeof u.offset == "number") { let p = this.fromOffset(u.offset); o = p.line, a = p.col } else o = u.line, a = u.column } else if (!r) { let c = this.fromOffset(t); t = c.line, r = c.col } let f = this.origin(t, r, o, a); return f ? n = new Du(e, f.endLine === void 0 ? f.line : { line: f.line, column: f.column }, f.endLine === void 0 ? f.column : { line: f.endLine, column: f.endColumn }, f.source, f.file, s.plugin) : n = new Du(e, o === void 0 ? t : { line: t, column: r }, o === void 0 ? r : { line: o, column: a }, this.css, this.file, s.plugin), n.input = { line: t, column: r, endLine: o, endColumn: a, source: this.css }, this.file && (yi && (n.input.url = yi(this.file).toString()), n.input.file = this.file), n } origin(e, t, r, s) { if (!this.map) return !1; let n = this.map.consumer(), o = n.originalPositionFor({ line: e, column: t }); if (!o.source) return !1; let a; typeof r == "number" && (a = n.originalPositionFor({ line: r, column: s })); let f; Ms(o.source) ? f = yi(o.source) : f = new URL(o.source, this.map.consumer().sourceRoot || yi(this.map.mapFile)); let c = { url: f.toString(), line: o.line, column: o.column, endLine: a && a.line, endColumn: a && a.column }; if (f.protocol === "file:") if (Pu) c.file = Pu(f); else throw new Error("file: protocol is not available in this PostCSS build"); let u = n.sourceContentFor(o.source); return u && (c.source = u), c } mapResolve(e) { return /^\w+:\/\//.test(e) ? e : Rs(this.map.consumer().sourceRoot || this.map.root || ".", e) } get from() { return this.file || this.id } toJSON() { let e = {}; for (let t of ["hasBOM", "css", "file", "id"]) this[t] != null && (e[t] = this[t]); return this.map && (e.map = { ...this.map }, e.map.consumerCache && (e.map.consumerCache = void 0)), e }
}; Iu.exports = Xt; Xt.default = Xt; Ns && Ns.registerInput && Ns.registerInput(Xt)
}); var vi = w((SE, Ru) => { l(); "use strict"; var Pw = Me(), Dw = Cu(), qw = wi(); function bi(i, e) { let t = new qw(i, e), r = new Dw(t); try { r.parse() } catch (s) { throw s } return r.root } Ru.exports = bi; bi.default = bi; Pw.registerParse(bi) }); var zs = w((CE, Bu) => { l(); "use strict"; var { isClean: ye, my: Iw } = Kr(), Rw = As(), Mw = Ut(), Nw = Me(), Lw = si(), _E = Ts(), Mu = ai(), Bw = vi(), Fw = lt(), zw = { document: "Document", root: "Root", atrule: "AtRule", rule: "Rule", decl: "Declaration", comment: "Comment" }, $w = { postcssPlugin: !0, prepare: !0, Once: !0, Document: !0, Root: !0, Declaration: !0, Rule: !0, AtRule: !0, Comment: !0, DeclarationExit: !0, RuleExit: !0, AtRuleExit: !0, CommentExit: !0, RootExit: !0, DocumentExit: !0, OnceExit: !0 }, jw = { postcssPlugin: !0, prepare: !0, Once: !0 }, ut = 0; function Kt(i) { return typeof i == "object" && typeof i.then == "function" } function Nu(i) { let e = !1, t = zw[i.type]; return i.type === "decl" ? e = i.prop.toLowerCase() : i.type === "atrule" && (e = i.name.toLowerCase()), e && i.append ? [t, t + "-" + e, ut, t + "Exit", t + "Exit-" + e] : e ? [t, t + "-" + e, t + "Exit", t + "Exit-" + e] : i.append ? [t, ut, t + "Exit"] : [t, t + "Exit"] } function Lu(i) { let e; return i.type === "document" ? e = ["Document", ut, "DocumentExit"] : i.type === "root" ? e = ["Root", ut, "RootExit"] : e = Nu(i), { node: i, events: e, eventIndex: 0, visitors: [], visitorIndex: 0, iterator: 0 } } function Bs(i) { return i[ye] = !1, i.nodes && i.nodes.forEach(e => Bs(e)), i } var Fs = {}, Oe = class { constructor(e, t, r) { this.stringified = !1, this.processed = !1; let s; if (typeof t == "object" && t !== null && (t.type === "root" || t.type === "document")) s = Bs(t); else if (t instanceof Oe || t instanceof Mu) s = Bs(t.root), t.map && (typeof r.map == "undefined" && (r.map = {}), r.map.inline || (r.map.inline = !1), r.map.prev = t.map); else { let n = Bw; r.syntax && (n = r.syntax.parse), r.parser && (n = r.parser), n.parse && (n = n.parse); try { s = n(t, r) } catch (o) { this.processed = !0, this.error = o } s && !s[Iw] && Nw.rebuild(s) } this.result = new Mu(e, s, r), this.helpers = { ...Fs, result: this.result, postcss: Fs }, this.plugins = this.processor.plugins.map(n => typeof n == "object" && n.prepare ? { ...n, ...n.prepare(this.result) } : n) } get [Symbol.toStringTag]() { return "LazyResult" } get processor() { return this.result.processor } get opts() { return this.result.opts } get css() { return this.stringify().css } get content() { return this.stringify().content } get map() { return this.stringify().map } get root() { return this.sync().root } get messages() { return this.sync().messages } warnings() { return this.sync().warnings() } toString() { return this.css } then(e, t) { return this.async().then(e, t) } catch(e) { return this.async().catch(e) } finally(e) { return this.async().then(e, e) } async() { return this.error ? Promise.reject(this.error) : this.processed ? Promise.resolve(this.result) : (this.processing || (this.processing = this.runAsync()), this.processing) } sync() { if (this.error) throw this.error; if (this.processed) return this.result; if (this.processed = !0, this.processing) throw this.getAsyncError(); for (let e of this.plugins) { let t = this.runOnRoot(e); if (Kt(t)) throw this.getAsyncError() } if (this.prepareVisitors(), this.hasListener) { let e = this.result.root; for (; !e[ye];)e[ye] = !0, this.walkSync(e); if (this.listeners.OnceExit) if (e.type === "document") for (let t of e.nodes) this.visitSync(this.listeners.OnceExit, t); else this.visitSync(this.listeners.OnceExit, e) } return this.result } stringify() { if (this.error) throw this.error; if (this.stringified) return this.result; this.stringified = !0, this.sync(); let e = this.result.opts, t = Mw; e.syntax && (t = e.syntax.stringify), e.stringifier && (t = e.stringifier), t.stringify && (t = t.stringify); let s = new Rw(t, this.result.root, this.result.opts).generate(); return this.result.css = s[0], this.result.map = s[1], this.result } walkSync(e) { e[ye] = !0; let t = Nu(e); for (let r of t) if (r === ut) e.nodes && e.each(s => { s[ye] || this.walkSync(s) }); else { let s = this.listeners[r]; if (s && this.visitSync(s, e.toProxy())) return } } visitSync(e, t) { for (let [r, s] of e) { this.result.lastPlugin = r; let n; try { n = s(t, this.helpers) } catch (o) { throw this.handleError(o, t.proxyOf) } if (t.type !== "root" && t.type !== "document" && !t.parent) return !0; if (Kt(n)) throw this.getAsyncError() } } runOnRoot(e) { this.result.lastPlugin = e; try { if (typeof e == "object" && e.Once) { if (this.result.root.type === "document") { let t = this.result.root.nodes.map(r => e.Once(r, this.helpers)); return Kt(t[0]) ? Promise.all(t) : t } return e.Once(this.result.root, this.helpers) } else if (typeof e == "function") return e(this.result.root, this.result) } catch (t) { throw this.handleError(t) } } getAsyncError() { throw new Error("Use process(css).then(cb) to work with async plugins") } handleError(e, t) { let r = this.result.lastPlugin; try { t && t.addToError(e), this.error = e, e.name === "CssSyntaxError" && !e.plugin ? (e.plugin = r.postcssPlugin, e.setMessage()) : r.postcssVersion } catch (s) { console && console.error && console.error(s) } return e } async runAsync() { this.plugin = 0; for (let e = 0; e < this.plugins.length; e++) { let t = this.plugins[e], r = this.runOnRoot(t); if (Kt(r)) try { await r } catch (s) { throw this.handleError(s) } } if (this.prepareVisitors(), this.hasListener) { let e = this.result.root; for (; !e[ye];) { e[ye] = !0; let t = [Lu(e)]; for (; t.length > 0;) { let r = this.visitTick(t); if (Kt(r)) try { await r } catch (s) { let n = t[t.length - 1].node; throw this.handleError(s, n) } } } if (this.listeners.OnceExit) for (let [t, r] of this.listeners.OnceExit) { this.result.lastPlugin = t; try { if (e.type === "document") { let s = e.nodes.map(n => r(n, this.helpers)); await Promise.all(s) } else await r(e, this.helpers) } catch (s) { throw this.handleError(s) } } } return this.processed = !0, this.stringify() } prepareVisitors() { this.listeners = {}; let e = (t, r, s) => { this.listeners[r] || (this.listeners[r] = []), this.listeners[r].push([t, s]) }; for (let t of this.plugins) if (typeof t == "object") for (let r in t) { if (!$w[r] && /^[A-Z]/.test(r)) throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`); if (!jw[r]) if (typeof t[r] == "object") for (let s in t[r]) s === "*" ? e(t, r, t[r][s]) : e(t, r + "-" + s.toLowerCase(), t[r][s]); else typeof t[r] == "function" && e(t, r, t[r]) } this.hasListener = Object.keys(this.listeners).length > 0 } visitTick(e) { let t = e[e.length - 1], { node: r, visitors: s } = t; if (r.type !== "root" && r.type !== "document" && !r.parent) { e.pop(); return } if (s.length > 0 && t.visitorIndex < s.length) { let [o, a] = s[t.visitorIndex]; t.visitorIndex += 1, t.visitorIndex === s.length && (t.visitors = [], t.visitorIndex = 0), this.result.lastPlugin = o; try { return a(r.toProxy(), this.helpers) } catch (f) { throw this.handleError(f, r) } } if (t.iterator !== 0) { let o = t.iterator, a; for (; a = r.nodes[r.indexes[o]];)if (r.indexes[o] += 1, !a[ye]) { a[ye] = !0, e.push(Lu(a)); return } t.iterator = 0, delete r.indexes[o] } let n = t.events; for (; t.eventIndex < n.length;) { let o = n[t.eventIndex]; if (t.eventIndex += 1, o === ut) { r.nodes && r.nodes.length && (r[ye] = !0, t.iterator = r.getIterator()); return } else if (this.listeners[o]) { t.visitors = this.listeners[o]; return } } e.pop() } }; Oe.registerPostcss = i => { Fs = i }; Bu.exports = Oe; Oe.default = Oe; Fw.registerLazyResult(Oe); Lw.registerLazyResult(Oe) }); var zu = w((EE, Fu) => { l(); "use strict"; var Uw = As(), Vw = Ut(), AE = Ts(), Ww = vi(), Gw = ai(), xi = class { constructor(e, t, r) { t = t.toString(), this.stringified = !1, this._processor = e, this._css = t, this._opts = r, this._map = void 0; let s, n = Vw; this.result = new Gw(this._processor, s, this._opts), this.result.css = t; let o = this; Object.defineProperty(this.result, "root", { get() { return o.root } }); let a = new Uw(n, s, this._opts, t); if (a.isMap()) { let [f, c] = a.generate(); f && (this.result.css = f), c && (this.result.map = c) } } get [Symbol.toStringTag]() { return "NoWorkResult" } get processor() { return this.result.processor } get opts() { return this.result.opts } get css() { return this.result.css } get content() { return this.result.css } get map() { return this.result.map } get root() { if (this._root) return this._root; let e, t = Ww; try { e = t(this._css, this._opts) } catch (r) { this.error = r } if (this.error) throw this.error; return this._root = e, e } get messages() { return [] } warnings() { return [] } toString() { return this._css } then(e, t) { return this.async().then(e, t) } catch(e) { return this.async().catch(e) } finally(e) { return this.async().then(e, e) } async() { return this.error ? Promise.reject(this.error) : Promise.resolve(this.result) } sync() { if (this.error) throw this.error; return this.result } }; Fu.exports = xi; xi.default = xi }); var ju = w((OE, $u) => { l(); "use strict"; var Yw = zu(), Hw = zs(), Qw = si(), Jw = lt(), ft = class { constructor(e = []) { this.version = "8.4.6", this.plugins = this.normalize(e) } use(e) { return this.plugins = this.plugins.concat(this.normalize([e])), this } process(e, t = {}) { return this.plugins.length === 0 && typeof t.parser == "undefined" && typeof t.stringifier == "undefined" && typeof t.syntax == "undefined" ? new Yw(this, e, t) : new Hw(this, e, t) } normalize(e) { let t = []; for (let r of e) if (r.postcss === !0 ? r = r() : r.postcss && (r = r.postcss), typeof r == "object" && Array.isArray(r.plugins)) t = t.concat(r.plugins); else if (typeof r == "object" && r.postcssPlugin) t.push(r); else if (typeof r == "function") t.push(r); else if (!(typeof r == "object" && (r.parse || r.stringify))) throw new Error(r + " is not a PostCSS plugin"); return t } }; $u.exports = ft; ft.default = ft; Jw.registerProcessor(ft); Qw.registerProcessor(ft) }); var Vu = w((TE, Uu) => { l(); "use strict"; var Xw = Wt(), Kw = Is(), Zw = Gt(), eb = mi(), tb = wi(), rb = lt(), ib = gi(); function Zt(i, e) { if (Array.isArray(i)) return i.map(s => Zt(s)); let { inputs: t, ...r } = i; if (t) { e = []; for (let s of t) { let n = { ...s, __proto__: tb.prototype }; n.map && (n.map = { ...n.map, __proto__: Kw.prototype }), e.push(n) } } if (r.nodes && (r.nodes = i.nodes.map(s => Zt(s, e))), r.source) { let { inputId: s, ...n } = r.source; r.source = n, s != null && (r.source.input = e[s]) } if (r.type === "root") return new rb(r); if (r.type === "decl") return new Xw(r); if (r.type === "rule") return new ib(r); if (r.type === "comment") return new Zw(r); if (r.type === "atrule") return new eb(r); throw new Error("Unknown node type: " + i.type) } Uu.exports = Zt; Zt.default = Zt }); var te = w((PE, Xu) => {
l(); "use strict"; var sb = Xr(), Wu = Wt(), nb = zs(), ob = Me(), $s = ju(), ab = Ut(), lb = Vu(), Gu = si(), ub = Ps(), Yu = Gt(), Hu = mi(), fb = ai(), cb = wi(), pb = vi(), db = qs(), Qu = gi(), Ju = lt(), hb = Vt(); function M(...i) { return i.length === 1 && Array.isArray(i[0]) && (i = i[0]), new $s(i) } M.plugin = function (e, t) {
console && console.warn && (console.warn(e + `: postcss.plugin was deprecated. Migration guide:
https://evilmartians.com/chronicles/postcss-8-plugin-migration`), h.env.LANG && h.env.LANG.startsWith("cn") && console.warn(e + `: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
https://www.w3ctech.com/topic/2226`)); function r(...n) { let o = t(...n); return o.postcssPlugin = e, o.postcssVersion = new $s().version, o } let s; return Object.defineProperty(r, "postcss", { get() { return s || (s = r()), s } }), r.process = function (n, o, a) { return M([r(a)]).process(n, o) }, r
}; M.stringify = ab; M.parse = pb; M.fromJSON = lb; M.list = db; M.comment = i => new Yu(i); M.atRule = i => new Hu(i); M.decl = i => new Wu(i); M.rule = i => new Qu(i); M.root = i => new Ju(i); M.document = i => new Gu(i); M.CssSyntaxError = sb; M.Declaration = Wu; M.Container = ob; M.Processor = $s; M.Document = Gu; M.Comment = Yu; M.Warning = ub; M.AtRule = Hu; M.Result = fb; M.Input = cb; M.Rule = Qu; M.Root = Ju; M.Node = hb; nb.registerPostcss(M); Xu.exports = M; M.default = M
}); var L, B, DE, qE, IE, RE, ME, NE, LE, BE, FE, zE, $E, jE, UE, VE, WE, GE, YE, HE, QE, JE, XE, KE, ZE, e5, Ne = _(() => { l(); L = V(te()), B = L.default, DE = L.default.stringify, qE = L.default.fromJSON, IE = L.default.plugin, RE = L.default.parse, ME = L.default.list, NE = L.default.document, LE = L.default.comment, BE = L.default.atRule, FE = L.default.rule, zE = L.default.decl, $E = L.default.root, jE = L.default.CssSyntaxError, UE = L.default.Declaration, VE = L.default.Container, WE = L.default.Processor, GE = L.default.Document, YE = L.default.Comment, HE = L.default.Warning, QE = L.default.AtRule, JE = L.default.Result, XE = L.default.Input, KE = L.default.Rule, ZE = L.default.Root, e5 = L.default.Node }); var js = w((r5, Ku) => { l(); Ku.exports = function (i, e, t, r, s) { for (e = e.split ? e.split(".") : e, r = 0; r < e.length; r++)i = i ? i[e[r]] : s; return i === s ? t : i } }); var Si = w((ki, Zu) => { l(); "use strict"; ki.__esModule = !0; ki.default = yb; function mb(i) { for (var e = i.toLowerCase(), t = "", r = !1, s = 0; s < 6 && e[s] !== void 0; s++) { var n = e.charCodeAt(s), o = n >= 97 && n <= 102 || n >= 48 && n <= 57; if (r = n === 32, !o) break; t += e[s] } if (t.length !== 0) { var a = parseInt(t, 16), f = a >= 55296 && a <= 57343; return f || a === 0 || a > 1114111 ? ["\uFFFD", t.length + (r ? 1 : 0)] : [String.fromCodePoint(a), t.length + (r ? 1 : 0)] } } var gb = /\\/; function yb(i) { var e = gb.test(i); if (!e) return i; for (var t = "", r = 0; r < i.length; r++) { if (i[r] === "\\") { var s = mb(i.slice(r + 1, r + 7)); if (s !== void 0) { t += s[0], r += s[1]; continue } if (i[r + 1] === "\\") { t += "\\", r++; continue } i.length === r + 1 && (t += i[r]); continue } t += i[r] } return t } Zu.exports = ki.default }); var tf = w((_i, ef) => { l(); "use strict"; _i.__esModule = !0; _i.default = wb; function wb(i) { for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), r = 1; r < e; r++)t[r - 1] = arguments[r]; for (; t.length > 0;) { var s = t.shift(); if (!i[s]) return; i = i[s] } return i } ef.exports = _i.default }); var sf = w((Ci, rf) => { l(); "use strict"; Ci.__esModule = !0; Ci.default = bb; function bb(i) { for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), r = 1; r < e; r++)t[r - 1] = arguments[r]; for (; t.length > 0;) { var s = t.shift(); i[s] || (i[s] = {}), i = i[s] } } rf.exports = Ci.default }); var of = w((Ai, nf) => { l(); "use strict"; Ai.__esModule = !0; Ai.default = vb; function vb(i) { for (var e = "", t = i.indexOf("/*"), r = 0; t >= 0;) { e = e + i.slice(r, t); var s = i.indexOf("*/", t + 2); if (s < 0) return e; r = s + 2, t = i.indexOf("/*", r) } return e = e + i.slice(r), e } nf.exports = Ai.default }); var er = w(we => { l(); "use strict"; we.__esModule = !0; we.stripComments = we.ensureObject = we.getProp = we.unesc = void 0; var xb = Ei(Si()); we.unesc = xb.default; var kb = Ei(tf()); we.getProp = kb.default; var Sb = Ei(sf()); we.ensureObject = Sb.default; var _b = Ei(of()); we.stripComments = _b.default; function Ei(i) { return i && i.__esModule ? i : { default: i } } }); var Te = w((tr, uf) => { l(); "use strict"; tr.__esModule = !0; tr.default = void 0; var af = er(); function lf(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function Cb(i, e, t) { return e && lf(i.prototype, e), t && lf(i, t), i } var Ab = function i(e, t) { if (typeof e != "object" || e === null) return e; var r = new e.constructor; for (var s in e) if (!!e.hasOwnProperty(s)) { var n = e[s], o = typeof n; s === "parent" && o === "object" ? t && (r[s] = t) : n instanceof Array ? r[s] = n.map(function (a) { return i(a, r) }) : r[s] = i(n, r) } return r }, Eb = function () { function i(t) { t === void 0 && (t = {}), Object.assign(this, t), this.spaces = this.spaces || {}, this.spaces.before = this.spaces.before || "", this.spaces.after = this.spaces.after || "" } var e = i.prototype; return e.remove = function () { return this.parent && this.parent.removeChild(this), this.parent = void 0, this }, e.replaceWith = function () { if (this.parent) { for (var r in arguments) this.parent.insertBefore(this, arguments[r]); this.remove() } return this }, e.next = function () { return this.parent.at(this.parent.index(this) + 1) }, e.prev = function () { return this.parent.at(this.parent.index(this) - 1) }, e.clone = function (r) { r === void 0 && (r = {}); var s = Ab(this); for (var n in r) s[n] = r[n]; return s }, e.appendToPropertyAndEscape = function (r, s, n) { this.raws || (this.raws = {}); var o = this[r], a = this.raws[r]; this[r] = o + s, a || n !== s ? this.raws[r] = (a || o) + n : delete this.raws[r] }, e.setPropertyAndEscape = function (r, s, n) { this.raws || (this.raws = {}), this[r] = s, this.raws[r] = n }, e.setPropertyWithoutEscape = function (r, s) { this[r] = s, this.raws && delete this.raws[r] }, e.isAtPosition = function (r, s) { if (this.source && this.source.start && this.source.end) return !(this.source.start.line > r || this.source.end.line < r || this.source.start.line === r && this.source.start.column > s || this.source.end.line === r && this.source.end.column < s) }, e.stringifyProperty = function (r) { return this.raws && this.raws[r] || this[r] }, e.valueToString = function () { return String(this.stringifyProperty("value")) }, e.toString = function () { return [this.rawSpaceBefore, this.valueToString(), this.rawSpaceAfter].join("") }, Cb(i, [{ key: "rawSpaceBefore", get: function () { var r = this.raws && this.raws.spaces && this.raws.spaces.before; return r === void 0 && (r = this.spaces && this.spaces.before), r || "" }, set: function (r) { (0, af.ensureObject)(this, "raws", "spaces"), this.raws.spaces.before = r } }, { key: "rawSpaceAfter", get: function () { var r = this.raws && this.raws.spaces && this.raws.spaces.after; return r === void 0 && (r = this.spaces.after), r || "" }, set: function (r) { (0, af.ensureObject)(this, "raws", "spaces"), this.raws.spaces.after = r } }]), i }(); tr.default = Eb; uf.exports = tr.default }); var Q = w(F => { l(); "use strict"; F.__esModule = !0; F.UNIVERSAL = F.ATTRIBUTE = F.CLASS = F.COMBINATOR = F.COMMENT = F.ID = F.NESTING = F.PSEUDO = F.ROOT = F.SELECTOR = F.STRING = F.TAG = void 0; var Ob = "tag"; F.TAG = Ob; var Tb = "string"; F.STRING = Tb; var Pb = "selector"; F.SELECTOR = Pb; var Db = "root"; F.ROOT = Db; var qb = "pseudo"; F.PSEUDO = qb; var Ib = "nesting"; F.NESTING = Ib; var Rb = "id"; F.ID = Rb; var Mb = "comment"; F.COMMENT = Mb; var Nb = "combinator"; F.COMBINATOR = Nb; var Lb = "class"; F.CLASS = Lb; var Bb = "attribute"; F.ATTRIBUTE = Bb; var Fb = "universal"; F.UNIVERSAL = Fb }); var Oi = w((rr, df) => {
l(); "use strict"; rr.__esModule = !0; rr.default = void 0; var zb = jb(Te()), Pe = $b(Q()); function ff() { if (typeof WeakMap != "function") return null; var i = new WeakMap; return ff = function () { return i }, i } function $b(i) { if (i && i.__esModule) return i; if (i === null || typeof i != "object" && typeof i != "function") return { default: i }; var e = ff(); if (e && e.has(i)) return e.get(i); var t = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var s in i) if (Object.prototype.hasOwnProperty.call(i, s)) { var n = r ? Object.getOwnPropertyDescriptor(i, s) : null; n && (n.get || n.set) ? Object.defineProperty(t, s, n) : t[s] = i[s] } return t.default = i, e && e.set(i, t), t } function jb(i) { return i && i.__esModule ? i : { default: i } } function Ub(i, e) {
var t; if (typeof Symbol == "undefined" || i[Symbol.iterator] == null) {
if (Array.isArray(i) || (t = Vb(i)) || e && i && typeof i.length == "number") { t && (i = t); var r = 0; return function () { return r >= i.length ? { done: !0 } : { done: !1, value: i[r++] } } } throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)
} return t = i[Symbol.iterator](), t.next.bind(t)
} function Vb(i, e) { if (!!i) { if (typeof i == "string") return cf(i, e); var t = Object.prototype.toString.call(i).slice(8, -1); if (t === "Object" && i.constructor && (t = i.constructor.name), t === "Map" || t === "Set") return Array.from(i); if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return cf(i, e) } } function cf(i, e) { (e == null || e > i.length) && (e = i.length); for (var t = 0, r = new Array(e); t < e; t++)r[t] = i[t]; return r } function pf(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function Wb(i, e, t) { return e && pf(i.prototype, e), t && pf(i, t), i } function Gb(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, Us(i, e) } function Us(i, e) { return Us = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, Us(i, e) } var Yb = function (i) { Gb(e, i); function e(r) { var s; return s = i.call(this, r) || this, s.nodes || (s.nodes = []), s } var t = e.prototype; return t.append = function (s) { return s.parent = this, this.nodes.push(s), this }, t.prepend = function (s) { return s.parent = this, this.nodes.unshift(s), this }, t.at = function (s) { return this.nodes[s] }, t.index = function (s) { return typeof s == "number" ? s : this.nodes.indexOf(s) }, t.removeChild = function (s) { s = this.index(s), this.at(s).parent = void 0, this.nodes.splice(s, 1); var n; for (var o in this.indexes) n = this.indexes[o], n >= s && (this.indexes[o] = n - 1); return this }, t.removeAll = function () { for (var s = Ub(this.nodes), n; !(n = s()).done;) { var o = n.value; o.parent = void 0 } return this.nodes = [], this }, t.empty = function () { return this.removeAll() }, t.insertAfter = function (s, n) { n.parent = this; var o = this.index(s); this.nodes.splice(o + 1, 0, n), n.parent = this; var a; for (var f in this.indexes) a = this.indexes[f], o <= a && (this.indexes[f] = a + 1); return this }, t.insertBefore = function (s, n) { n.parent = this; var o = this.index(s); this.nodes.splice(o, 0, n), n.parent = this; var a; for (var f in this.indexes) a = this.indexes[f], a <= o && (this.indexes[f] = a + 1); return this }, t._findChildAtPosition = function (s, n) { var o = void 0; return this.each(function (a) { if (a.atPosition) { var f = a.atPosition(s, n); if (f) return o = f, !1 } else if (a.isAtPosition(s, n)) return o = a, !1 }), o }, t.atPosition = function (s, n) { if (this.isAtPosition(s, n)) return this._findChildAtPosition(s, n) || this }, t._inferEndPosition = function () { this.last && this.last.source && this.last.source.end && (this.source = this.source || {}, this.source.end = this.source.end || {}, Object.assign(this.source.end, this.last.source.end)) }, t.each = function (s) { this.lastEach || (this.lastEach = 0), this.indexes || (this.indexes = {}), this.lastEach++; var n = this.lastEach; if (this.indexes[n] = 0, !!this.length) { for (var o, a; this.indexes[n] < this.length && (o = this.indexes[n], a = s(this.at(o), o), a !== !1);)this.indexes[n] += 1; if (delete this.indexes[n], a === !1) return !1 } }, t.walk = function (s) { return this.each(function (n, o) { var a = s(n, o); if (a !== !1 && n.length && (a = n.walk(s)), a === !1) return !1 }) }, t.walkAttributes = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.ATTRIBUTE) return s.call(n, o) }) }, t.walkClasses = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.CLASS) return s.call(n, o) }) }, t.walkCombinators = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.COMBINATOR) return s.call(n, o) }) }, t.walkComments = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.COMMENT) return s.call(n, o) }) }, t.walkIds = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.ID) return s.call(n, o) }) }, t.walkNesting = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.NESTING) return s.call(n, o) }) }, t.walkPseudos = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.PSEUDO) return s.call(n, o) }) }, t.walkTags = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.TAG) return s.call(n, o) }) }, t.walkUniversals = function (s) { var n = this; return this.walk(function (o) { if (o.type === Pe.UNIVERSAL) return s.call(n, o) }) }, t.split = function (s) { var n = this, o = []; return this.reduce(function (a, f, c) { var u = s.call(n, f); return o.push(f), u ? (a.push(o), o = []) : c === n.length - 1 && a.push(o), a }, []) }, t.map = function (s) { return this.nodes.map(s) }, t.reduce = function (s, n) { return this.nodes.reduce(s, n) }, t.every = function (s) { return this.nodes.every(s) }, t.some = function (s) { return this.nodes.some(s) }, t.filter = function (s) { return this.nodes.filter(s) }, t.sort = function (s) { return this.nodes.sort(s) }, t.toString = function () { return this.map(String).join("") }, Wb(e, [{ key: "first", get: function () { return this.at(0) } }, { key: "last", get: function () { return this.at(this.length - 1) } }, { key: "length", get: function () { return this.nodes.length } }]), e }(zb.default); rr.default = Yb; df.exports = rr.default
}); var Ws = w((ir, mf) => { l(); "use strict"; ir.__esModule = !0; ir.default = void 0; var Hb = Jb(Oi()), Qb = Q(); function Jb(i) { return i && i.__esModule ? i : { default: i } } function hf(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function Xb(i, e, t) { return e && hf(i.prototype, e), t && hf(i, t), i } function Kb(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, Vs(i, e) } function Vs(i, e) { return Vs = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, Vs(i, e) } var Zb = function (i) { Kb(e, i); function e(r) { var s; return s = i.call(this, r) || this, s.type = Qb.ROOT, s } var t = e.prototype; return t.toString = function () { var s = this.reduce(function (n, o) { return n.push(String(o)), n }, []).join(","); return this.trailingComma ? s + "," : s }, t.error = function (s, n) { return this._error ? this._error(s, n) : new Error(s) }, Xb(e, [{ key: "errorGenerator", set: function (s) { this._error = s } }]), e }(Hb.default); ir.default = Zb; mf.exports = ir.default }); var Ys = w((sr, gf) => { l(); "use strict"; sr.__esModule = !0; sr.default = void 0; var e0 = r0(Oi()), t0 = Q(); function r0(i) { return i && i.__esModule ? i : { default: i } } function i0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, Gs(i, e) } function Gs(i, e) { return Gs = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, Gs(i, e) } var s0 = function (i) { i0(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = t0.SELECTOR, r } return e }(e0.default); sr.default = s0; gf.exports = sr.default }); var Ti = w((n5, yf) => { l(); "use strict"; var n0 = {}, o0 = n0.hasOwnProperty, a0 = function (e, t) { if (!e) return t; var r = {}; for (var s in t) r[s] = o0.call(e, s) ? e[s] : t[s]; return r }, l0 = /[ -,\.\/:-@\[-\^`\{-~]/, u0 = /[ -,\.\/:-@\[\]\^`\{-~]/, f0 = /(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g, Hs = function i(e, t) { t = a0(t, i.options), t.quotes != "single" && t.quotes != "double" && (t.quotes = "single"); for (var r = t.quotes == "double" ? '"' : "'", s = t.isIdentifier, n = e.charAt(0), o = "", a = 0, f = e.length; a < f;) { var c = e.charAt(a++), u = c.charCodeAt(), p = void 0; if (u < 32 || u > 126) { if (u >= 55296 && u <= 56319 && a < f) { var d = e.charCodeAt(a++); (d & 64512) == 56320 ? u = ((u & 1023) << 10) + (d & 1023) + 65536 : a-- } p = "\\" + u.toString(16).toUpperCase() + " " } else t.escapeEverything ? l0.test(c) ? p = "\\" + c : p = "\\" + u.toString(16).toUpperCase() + " " : /[\t\n\f\r\x0B]/.test(c) ? p = "\\" + u.toString(16).toUpperCase() + " " : c == "\\" || !s && (c == '"' && r == c || c == "'" && r == c) || s && u0.test(c) ? p = "\\" + c : p = c; o += p } return s && (/^-[-\d]/.test(o) ? o = "\\-" + o.slice(1) : /\d/.test(n) && (o = "\\3" + n + " " + o.slice(1))), o = o.replace(f0, function (g, y, x) { return y && y.length % 2 ? g : (y || "") + x }), !s && t.wrap ? r + o + r : o }; Hs.options = { escapeEverything: !1, isIdentifier: !1, quotes: "single", wrap: !1 }; Hs.version = "3.0.0"; yf.exports = Hs }); var Js = w((nr, vf) => { l(); "use strict"; nr.__esModule = !0; nr.default = void 0; var c0 = wf(Ti()), p0 = er(), d0 = wf(Te()), h0 = Q(); function wf(i) { return i && i.__esModule ? i : { default: i } } function bf(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function m0(i, e, t) { return e && bf(i.prototype, e), t && bf(i, t), i } function g0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, Qs(i, e) } function Qs(i, e) { return Qs = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, Qs(i, e) } var y0 = function (i) { g0(e, i); function e(r) { var s; return s = i.call(this, r) || this, s.type = h0.CLASS, s._constructed = !0, s } var t = e.prototype; return t.valueToString = function () { return "." + i.prototype.valueToString.call(this) }, m0(e, [{ key: "value", get: function () { return this._value }, set: function (s) { if (this._constructed) { var n = (0, c0.default)(s, { isIdentifier: !0 }); n !== s ? ((0, p0.ensureObject)(this, "raws"), this.raws.value = n) : this.raws && delete this.raws.value } this._value = s } }]), e }(d0.default); nr.default = y0; vf.exports = nr.default }); var Ks = w((or, xf) => { l(); "use strict"; or.__esModule = !0; or.default = void 0; var w0 = v0(Te()), b0 = Q(); function v0(i) { return i && i.__esModule ? i : { default: i } } function x0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, Xs(i, e) } function Xs(i, e) { return Xs = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, Xs(i, e) } var k0 = function (i) { x0(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = b0.COMMENT, r } return e }(w0.default); or.default = k0; xf.exports = or.default }); var en = w((ar, kf) => { l(); "use strict"; ar.__esModule = !0; ar.default = void 0; var S0 = C0(Te()), _0 = Q(); function C0(i) { return i && i.__esModule ? i : { default: i } } function A0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, Zs(i, e) } function Zs(i, e) { return Zs = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, Zs(i, e) } var E0 = function (i) { A0(e, i); function e(r) { var s; return s = i.call(this, r) || this, s.type = _0.ID, s } var t = e.prototype; return t.valueToString = function () { return "#" + i.prototype.valueToString.call(this) }, e }(S0.default); ar.default = E0; kf.exports = ar.default }); var Pi = w((lr, Cf) => { l(); "use strict"; lr.__esModule = !0; lr.default = void 0; var O0 = Sf(Ti()), T0 = er(), P0 = Sf(Te()); function Sf(i) { return i && i.__esModule ? i : { default: i } } function _f(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function D0(i, e, t) { return e && _f(i.prototype, e), t && _f(i, t), i } function q0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, tn(i, e) } function tn(i, e) { return tn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, tn(i, e) } var I0 = function (i) { q0(e, i); function e() { return i.apply(this, arguments) || this } var t = e.prototype; return t.qualifiedName = function (s) { return this.namespace ? this.namespaceString + "|" + s : s }, t.valueToString = function () { return this.qualifiedName(i.prototype.valueToString.call(this)) }, D0(e, [{ key: "namespace", get: function () { return this._namespace }, set: function (s) { if (s === !0 || s === "*" || s === "&") { this._namespace = s, this.raws && delete this.raws.namespace; return } var n = (0, O0.default)(s, { isIdentifier: !0 }); this._namespace = s, n !== s ? ((0, T0.ensureObject)(this, "raws"), this.raws.namespace = n) : this.raws && delete this.raws.namespace } }, { key: "ns", get: function () { return this._namespace }, set: function (s) { this.namespace = s } }, { key: "namespaceString", get: function () { if (this.namespace) { var s = this.stringifyProperty("namespace"); return s === !0 ? "" : s } else return "" } }]), e }(P0.default); lr.default = I0; Cf.exports = lr.default }); var sn = w((ur, Af) => { l(); "use strict"; ur.__esModule = !0; ur.default = void 0; var R0 = N0(Pi()), M0 = Q(); function N0(i) { return i && i.__esModule ? i : { default: i } } function L0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, rn(i, e) } function rn(i, e) { return rn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, rn(i, e) } var B0 = function (i) { L0(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = M0.TAG, r } return e }(R0.default); ur.default = B0; Af.exports = ur.default }); var on = w((fr, Ef) => { l(); "use strict"; fr.__esModule = !0; fr.default = void 0; var F0 = $0(Te()), z0 = Q(); function $0(i) { return i && i.__esModule ? i : { default: i } } function j0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, nn(i, e) } function nn(i, e) { return nn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, nn(i, e) } var U0 = function (i) { j0(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = z0.STRING, r } return e }(F0.default); fr.default = U0; Ef.exports = fr.default }); var ln = w((cr, Of) => { l(); "use strict"; cr.__esModule = !0; cr.default = void 0; var V0 = G0(Oi()), W0 = Q(); function G0(i) { return i && i.__esModule ? i : { default: i } } function Y0(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, an(i, e) } function an(i, e) { return an = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, an(i, e) } var H0 = function (i) { Y0(e, i); function e(r) { var s; return s = i.call(this, r) || this, s.type = W0.PSEUDO, s } var t = e.prototype; return t.toString = function () { var s = this.length ? "(" + this.map(String).join(",") + ")" : ""; return [this.rawSpaceBefore, this.stringifyProperty("value"), s, this.rawSpaceAfter].join("") }, e }(V0.default); cr.default = H0; Of.exports = cr.default }); var Tf = {}; le(Tf, { deprecate: () => Q0 }); function Q0(i) { return i } var Pf = _(() => { l() }); var qf = w((o5, Df) => { l(); Df.exports = (Pf(), Tf).deprecate }); var hn = w(hr => { l(); "use strict"; hr.__esModule = !0; hr.unescapeValue = pn; hr.default = void 0; var pr = fn(Ti()), J0 = fn(Si()), X0 = fn(Pi()), K0 = Q(), un; function fn(i) { return i && i.__esModule ? i : { default: i } } function If(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function Z0(i, e, t) { return e && If(i.prototype, e), t && If(i, t), i } function ev(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, cn(i, e) } function cn(i, e) { return cn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, cn(i, e) } var dr = qf(), tv = /^('|")([^]*)\1$/, rv = dr(function () { }, "Assigning an attribute a value containing characters that might need to be escaped is deprecated. Call attribute.setValue() instead."), iv = dr(function () { }, "Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead."), sv = dr(function () { }, "Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now."); function pn(i) { var e = !1, t = null, r = i, s = r.match(tv); return s && (t = s[1], r = s[2]), r = (0, J0.default)(r), r !== i && (e = !0), { deprecatedUsage: e, unescaped: r, quoteMark: t } } function nv(i) { if (i.quoteMark !== void 0 || i.value === void 0) return i; sv(); var e = pn(i.value), t = e.quoteMark, r = e.unescaped; return i.raws || (i.raws = {}), i.raws.value === void 0 && (i.raws.value = i.value), i.value = r, i.quoteMark = t, i } var Di = function (i) { ev(e, i); function e(r) { var s; return r === void 0 && (r = {}), s = i.call(this, nv(r)) || this, s.type = K0.ATTRIBUTE, s.raws = s.raws || {}, Object.defineProperty(s.raws, "unquoted", { get: dr(function () { return s.value }, "attr.raws.unquoted is deprecated. Call attr.value instead."), set: dr(function () { return s.value }, "Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.") }), s._constructed = !0, s } var t = e.prototype; return t.getQuotedValue = function (s) { s === void 0 && (s = {}); var n = this._determineQuoteMark(s), o = dn[n], a = (0, pr.default)(this._value, o); return a }, t._determineQuoteMark = function (s) { return s.smart ? this.smartQuoteMark(s) : this.preferredQuoteMark(s) }, t.setValue = function (s, n) { n === void 0 && (n = {}), this._value = s, this._quoteMark = this._determineQuoteMark(n), this._syncRawValue() }, t.smartQuoteMark = function (s) { var n = this.value, o = n.replace(/[^']/g, "").length, a = n.replace(/[^"]/g, "").length; if (o + a === 0) { var f = (0, pr.default)(n, { isIdentifier: !0 }); if (f === n) return e.NO_QUOTE; var c = this.preferredQuoteMark(s); if (c === e.NO_QUOTE) { var u = this.quoteMark || s.quoteMark || e.DOUBLE_QUOTE, p = dn[u], d = (0, pr.default)(n, p); if (d.length < f.length) return u } return c } else return a === o ? this.preferredQuoteMark(s) : a < o ? e.DOUBLE_QUOTE : e.SINGLE_QUOTE }, t.preferredQuoteMark = function (s) { var n = s.preferCurrentQuoteMark ? this.quoteMark : s.quoteMark; return n === void 0 && (n = s.preferCurrentQuoteMark ? s.quoteMark : this.quoteMark), n === void 0 && (n = e.DOUBLE_QUOTE), n }, t._syncRawValue = function () { var s = (0, pr.default)(this._value, dn[this.quoteMark]); s === this._value ? this.raws && delete this.raws.value : this.raws.value = s }, t._handleEscapes = function (s, n) { if (this._constructed) { var o = (0, pr.default)(n, { isIdentifier: !0 }); o !== n ? this.raws[s] = o : delete this.raws[s] } }, t._spacesFor = function (s) { var n = { before: "", after: "" }, o = this.spaces[s] || {}, a = this.raws.spaces && this.raws.spaces[s] || {}; return Object.assign(n, o, a) }, t._stringFor = function (s, n, o) { n === void 0 && (n = s), o === void 0 && (o = Rf); var a = this._spacesFor(n); return o(this.stringifyProperty(s), a) }, t.offsetOf = function (s) { var n = 1, o = this._spacesFor("attribute"); if (n += o.before.length, s === "namespace" || s === "ns") return this.namespace ? n : -1; if (s === "attributeNS" || (n += this.namespaceString.length, this.namespace && (n += 1), s === "attribute")) return n; n += this.stringifyProperty("attribute").length, n += o.after.length; var a = this._spacesFor("operator"); n += a.before.length; var f = this.stringifyProperty("operator"); if (s === "operator") return f ? n : -1; n += f.length, n += a.after.length; var c = this._spacesFor("value"); n += c.before.length; var u = this.stringifyProperty("value"); if (s === "value") return u ? n : -1; n += u.length, n += c.after.length; var p = this._spacesFor("insensitive"); return n += p.before.length, s === "insensitive" && this.insensitive ? n : -1 }, t.toString = function () { var s = this, n = [this.rawSpaceBefore, "["]; return n.push(this._stringFor("qualifiedAttribute", "attribute")), this.operator && (this.value || this.value === "") && (n.push(this._stringFor("operator")), n.push(this._stringFor("value")), n.push(this._stringFor("insensitiveFlag", "insensitive", function (o, a) { return o.length > 0 && !s.quoted && a.before.length === 0 && !(s.spaces.value && s.spaces.value.after) && (a.before = " "), Rf(o, a) }))), n.push("]"), n.push(this.rawSpaceAfter), n.join("") }, Z0(e, [{ key: "quoted", get: function () { var s = this.quoteMark; return s === "'" || s === '"' }, set: function (s) { iv() } }, { key: "quoteMark", get: function () { return this._quoteMark }, set: function (s) { if (!this._constructed) { this._quoteMark = s; return } this._quoteMark !== s && (this._quoteMark = s, this._syncRawValue()) } }, { key: "qualifiedAttribute", get: function () { return this.qualifiedName(this.raws.attribute || this.attribute) } }, { key: "insensitiveFlag", get: function () { return this.insensitive ? "i" : "" } }, { key: "value", get: function () { return this._value }, set: function (s) { if (this._constructed) { var n = pn(s), o = n.deprecatedUsage, a = n.unescaped, f = n.quoteMark; if (o && rv(), a === this._value && f === this._quoteMark) return; this._value = a, this._quoteMark = f, this._syncRawValue() } else this._value = s } }, { key: "attribute", get: function () { return this._attribute }, set: function (s) { this._handleEscapes("attribute", s), this._attribute = s } }]), e }(X0.default); hr.default = Di; Di.NO_QUOTE = null; Di.SINGLE_QUOTE = "'"; Di.DOUBLE_QUOTE = '"'; var dn = (un = { "'": { quotes: "single", wrap: !0 }, '"': { quotes: "double", wrap: !0 } }, un[null] = { isIdentifier: !0 }, un); function Rf(i, e) { return "" + e.before + i + e.after } }); var gn = w((mr, Mf) => { l(); "use strict"; mr.__esModule = !0; mr.default = void 0; var ov = lv(Pi()), av = Q(); function lv(i) { return i && i.__esModule ? i : { default: i } } function uv(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, mn(i, e) } function mn(i, e) { return mn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, mn(i, e) } var fv = function (i) { uv(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = av.UNIVERSAL, r.value = "*", r } return e }(ov.default); mr.default = fv; Mf.exports = mr.default }); var wn = w((gr, Nf) => { l(); "use strict"; gr.__esModule = !0; gr.default = void 0; var cv = dv(Te()), pv = Q(); function dv(i) { return i && i.__esModule ? i : { default: i } } function hv(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, yn(i, e) } function yn(i, e) { return yn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, yn(i, e) } var mv = function (i) { hv(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = pv.COMBINATOR, r } return e }(cv.default); gr.default = mv; Nf.exports = gr.default }); var vn = w((yr, Lf) => { l(); "use strict"; yr.__esModule = !0; yr.default = void 0; var gv = wv(Te()), yv = Q(); function wv(i) { return i && i.__esModule ? i : { default: i } } function bv(i, e) { i.prototype = Object.create(e.prototype), i.prototype.constructor = i, bn(i, e) } function bn(i, e) { return bn = Object.setPrototypeOf || function (r, s) { return r.__proto__ = s, r }, bn(i, e) } var vv = function (i) { bv(e, i); function e(t) { var r; return r = i.call(this, t) || this, r.type = yv.NESTING, r.value = "&", r } return e }(gv.default); yr.default = vv; Lf.exports = yr.default }); var Ff = w((qi, Bf) => { l(); "use strict"; qi.__esModule = !0; qi.default = xv; function xv(i) { return i.sort(function (e, t) { return e - t }) } Bf.exports = qi.default }); var xn = w(O => { l(); "use strict"; O.__esModule = !0; O.combinator = O.word = O.comment = O.str = O.tab = O.newline = O.feed = O.cr = O.backslash = O.bang = O.slash = O.doubleQuote = O.singleQuote = O.space = O.greaterThan = O.pipe = O.equals = O.plus = O.caret = O.tilde = O.dollar = O.closeSquare = O.openSquare = O.closeParenthesis = O.openParenthesis = O.semicolon = O.colon = O.comma = O.at = O.asterisk = O.ampersand = void 0; var kv = 38; O.ampersand = kv; var Sv = 42; O.asterisk = Sv; var _v = 64; O.at = _v; var Cv = 44; O.comma = Cv; var Av = 58; O.colon = Av; var Ev = 59; O.semicolon = Ev; var Ov = 40; O.openParenthesis = Ov; var Tv = 41; O.closeParenthesis = Tv; var Pv = 91; O.openSquare = Pv; var Dv = 93; O.closeSquare = Dv; var qv = 36; O.dollar = qv; var Iv = 126; O.tilde = Iv; var Rv = 94; O.caret = Rv; var Mv = 43; O.plus = Mv; var Nv = 61; O.equals = Nv; var Lv = 124; O.pipe = Lv; var Bv = 62; O.greaterThan = Bv; var Fv = 32; O.space = Fv; var zf = 39; O.singleQuote = zf; var zv = 34; O.doubleQuote = zv; var $v = 47; O.slash = $v; var jv = 33; O.bang = jv; var Uv = 92; O.backslash = Uv; var Vv = 13; O.cr = Vv; var Wv = 12; O.feed = Wv; var Gv = 10; O.newline = Gv; var Yv = 9; O.tab = Yv; var Hv = zf; O.str = Hv; var Qv = -1; O.comment = Qv; var Jv = -2; O.word = Jv; var Xv = -3; O.combinator = Xv }); var Uf = w(wr => {
l(); "use strict"; wr.__esModule = !0; wr.default = sx; wr.FIELDS = void 0; var C = Kv(xn()), ct, N; function $f() { if (typeof WeakMap != "function") return null; var i = new WeakMap; return $f = function () { return i }, i } function Kv(i) { if (i && i.__esModule) return i; if (i === null || typeof i != "object" && typeof i != "function") return { default: i }; var e = $f(); if (e && e.has(i)) return e.get(i); var t = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var s in i) if (Object.prototype.hasOwnProperty.call(i, s)) { var n = r ? Object.getOwnPropertyDescriptor(i, s) : null; n && (n.get || n.set) ? Object.defineProperty(t, s, n) : t[s] = i[s] } return t.default = i, e && e.set(i, t), t } var Zv = (ct = {}, ct[C.tab] = !0, ct[C.newline] = !0, ct[C.cr] = !0, ct[C.feed] = !0, ct), ex = (N = {}, N[C.space] = !0, N[C.tab] = !0, N[C.newline] = !0, N[C.cr] = !0, N[C.feed] = !0, N[C.ampersand] = !0, N[C.asterisk] = !0, N[C.bang] = !0, N[C.comma] = !0, N[C.colon] = !0, N[C.semicolon] = !0, N[C.openParenthesis] = !0, N[C.closeParenthesis] = !0, N[C.openSquare] = !0, N[C.closeSquare] = !0, N[C.singleQuote] = !0, N[C.doubleQuote] = !0, N[C.plus] = !0, N[C.pipe] = !0, N[C.tilde] = !0, N[C.greaterThan] = !0, N[C.equals] = !0, N[C.dollar] = !0, N[C.caret] = !0, N[C.slash] = !0, N), kn = {}, jf = "0123456789abcdefABCDEF"; for (Ii = 0; Ii < jf.length; Ii++)kn[jf.charCodeAt(Ii)] = !0; var Ii; function tx(i, e) { var t = e, r; do { if (r = i.charCodeAt(t), ex[r]) return t - 1; r === C.backslash ? t = rx(i, t) + 1 : t++ } while (t < i.length); return t - 1 } function rx(i, e) { var t = e, r = i.charCodeAt(t + 1); if (!Zv[r]) if (kn[r]) { var s = 0; do t++, s++, r = i.charCodeAt(t + 1); while (kn[r] && s < 6); s < 6 && r === C.space && t++ } else t++; return t } var ix = { TYPE: 0, START_LINE: 1, START_COL: 2, END_LINE: 3, END_COL: 4, START_POS: 5, END_POS: 6 }; wr.FIELDS = ix; function sx(i) {
var e = [], t = i.css.valueOf(), r = t, s = r.length, n = -1, o = 1, a = 0, f = 0, c, u, p, d, g, y, x, b, v, S, T, P, I; function G(me, Y) { if (i.safe) t += Y, v = t.length - 1; else throw i.error("Unclosed " + me, o, a - n, a) } for (; a < s;) {
switch (c = t.charCodeAt(a), c === C.newline && (n = a, o += 1), c) {
case C.space: case C.tab: case C.newline: case C.cr: case C.feed: v = a; do v += 1, c = t.charCodeAt(v), c === C.newline && (n = v, o += 1); while (c === C.space || c === C.newline || c === C.tab || c === C.cr || c === C.feed); I = C.space, d = o, p = v - n - 1, f = v; break; case C.plus: case C.greaterThan: case C.tilde: case C.pipe: v = a; do v += 1, c = t.charCodeAt(v); while (c === C.plus || c === C.greaterThan || c === C.tilde || c === C.pipe); I = C.combinator, d = o, p = a - n, f = v; break; case C.asterisk: case C.ampersand: case C.bang: case C.comma: case C.equals: case C.dollar: case C.caret: case C.openSquare: case C.closeSquare: case C.colon: case C.semicolon: case C.openParenthesis: case C.closeParenthesis: v = a, I = c, d = o, p = a - n, f = v + 1; break; case C.singleQuote: case C.doubleQuote: P = c === C.singleQuote ? "'" : '"', v = a; do for (g = !1, v = t.indexOf(P, v + 1), v === -1 && G("quote", P), y = v; t.charCodeAt(y - 1) === C.backslash;)y -= 1, g = !g; while (g); I = C.str, d = o, p = a - n, f = v + 1; break; default: c === C.slash && t.charCodeAt(a + 1) === C.asterisk ? (v = t.indexOf("*/", a + 2) + 1, v === 0 && G("comment", "*/"), u = t.slice(a, v + 1), b = u.split(`
`), x = b.length - 1, x > 0 ? (S = o + x, T = v - b[x].length) : (S = o, T = n), I = C.comment, o = S, d = S, p = v - T) : c === C.slash ? (v = a, I = c, d = o, p = a - n, f = v + 1) : (v = tx(t, a), I = C.word, d = o, p = v - n), f = v + 1; break
}e.push([I, o, a - n, d, p, a, f]), T && (n = T, T = null), a = f
} return e
}
}); var Xf = w((br, Jf) => { l(); "use strict"; br.__esModule = !0; br.default = void 0; var nx = re(Ws()), Sn = re(Ys()), ox = re(Js()), Vf = re(Ks()), ax = re(en()), lx = re(sn()), _n = re(on()), ux = re(ln()), Wf = Ri(hn()), fx = re(gn()), Cn = re(wn()), cx = re(vn()), px = re(Ff()), k = Ri(Uf()), A = Ri(xn()), dx = Ri(Q()), j = er(), Qe, An; function Gf() { if (typeof WeakMap != "function") return null; var i = new WeakMap; return Gf = function () { return i }, i } function Ri(i) { if (i && i.__esModule) return i; if (i === null || typeof i != "object" && typeof i != "function") return { default: i }; var e = Gf(); if (e && e.has(i)) return e.get(i); var t = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var s in i) if (Object.prototype.hasOwnProperty.call(i, s)) { var n = r ? Object.getOwnPropertyDescriptor(i, s) : null; n && (n.get || n.set) ? Object.defineProperty(t, s, n) : t[s] = i[s] } return t.default = i, e && e.set(i, t), t } function re(i) { return i && i.__esModule ? i : { default: i } } function Yf(i, e) { for (var t = 0; t < e.length; t++) { var r = e[t]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(i, r.key, r) } } function hx(i, e, t) { return e && Yf(i.prototype, e), t && Yf(i, t), i } var En = (Qe = {}, Qe[A.space] = !0, Qe[A.cr] = !0, Qe[A.feed] = !0, Qe[A.newline] = !0, Qe[A.tab] = !0, Qe), mx = Object.assign({}, En, (An = {}, An[A.comment] = !0, An)); function Hf(i) { return { line: i[k.FIELDS.START_LINE], column: i[k.FIELDS.START_COL] } } function Qf(i) { return { line: i[k.FIELDS.END_LINE], column: i[k.FIELDS.END_COL] } } function Je(i, e, t, r) { return { start: { line: i, column: e }, end: { line: t, column: r } } } function pt(i) { return Je(i[k.FIELDS.START_LINE], i[k.FIELDS.START_COL], i[k.FIELDS.END_LINE], i[k.FIELDS.END_COL]) } function On(i, e) { if (!!i) return Je(i[k.FIELDS.START_LINE], i[k.FIELDS.START_COL], e[k.FIELDS.END_LINE], e[k.FIELDS.END_COL]) } function dt(i, e) { var t = i[e]; if (typeof t == "string") return t.indexOf("\\") !== -1 && ((0, j.ensureObject)(i, "raws"), i[e] = (0, j.unesc)(t), i.raws[e] === void 0 && (i.raws[e] = t)), i } function Tn(i, e) { for (var t = -1, r = []; (t = i.indexOf(e, t + 1)) !== -1;)r.push(t); return r } function gx() { var i = Array.prototype.concat.apply([], arguments); return i.filter(function (e, t) { return t === i.indexOf(e) }) } var yx = function () { function i(t, r) { r === void 0 && (r = {}), this.rule = t, this.options = Object.assign({ lossy: !1, safe: !1 }, r), this.position = 0, this.css = typeof this.rule == "string" ? this.rule : this.rule.selector, this.tokens = (0, k.default)({ css: this.css, error: this._errorGenerator(), safe: this.options.safe }); var s = On(this.tokens[0], this.tokens[this.tokens.length - 1]); this.root = new nx.default({ source: s }), this.root.errorGenerator = this._errorGenerator(); var n = new Sn.default({ source: { start: { line: 1, column: 1 } } }); this.root.append(n), this.current = n, this.loop() } var e = i.prototype; return e._errorGenerator = function () { var r = this; return function (s, n) { return typeof r.rule == "string" ? new Error(s) : r.rule.error(s, n) } }, e.attribute = function () { var r = [], s = this.currToken; for (this.position++; this.position < this.tokens.length && this.currToken[k.FIELDS.TYPE] !== A.closeSquare;)r.push(this.currToken), this.position++; if (this.currToken[k.FIELDS.TYPE] !== A.closeSquare) return this.expected("closing square bracket", this.currToken[k.FIELDS.START_POS]); var n = r.length, o = { source: Je(s[1], s[2], this.currToken[3], this.currToken[4]), sourceIndex: s[k.FIELDS.START_POS] }; if (n === 1 && !~[A.word].indexOf(r[0][k.FIELDS.TYPE])) return this.expected("attribute", r[0][k.FIELDS.START_POS]); for (var a = 0, f = "", c = "", u = null, p = !1; a < n;) { var d = r[a], g = this.content(d), y = r[a + 1]; switch (d[k.FIELDS.TYPE]) { case A.space: if (p = !0, this.options.lossy) break; if (u) { (0, j.ensureObject)(o, "spaces", u); var x = o.spaces[u].after || ""; o.spaces[u].after = x + g; var b = (0, j.getProp)(o, "raws", "spaces", u, "after") || null; b && (o.raws.spaces[u].after = b + g) } else f = f + g, c = c + g; break; case A.asterisk: if (y[k.FIELDS.TYPE] === A.equals) o.operator = g, u = "operator"; else if ((!o.namespace || u === "namespace" && !p) && y) { f && ((0, j.ensureObject)(o, "spaces", "attribute"), o.spaces.attribute.before = f, f = ""), c && ((0, j.ensureObject)(o, "raws", "spaces", "attribute"), o.raws.spaces.attribute.before = f, c = ""), o.namespace = (o.namespace || "") + g; var v = (0, j.getProp)(o, "raws", "namespace") || null; v && (o.raws.namespace += g), u = "namespace" } p = !1; break; case A.dollar: if (u === "value") { var S = (0, j.getProp)(o, "raws", "value"); o.value += "$", S && (o.raws.value = S + "$"); break } case A.caret: y[k.FIELDS.TYPE] === A.equals && (o.operator = g, u = "operator"), p = !1; break; case A.combinator: if (g === "~" && y[k.FIELDS.TYPE] === A.equals && (o.operator = g, u = "operator"), g !== "|") { p = !1; break } y[k.FIELDS.TYPE] === A.equals ? (o.operator = g, u = "operator") : !o.namespace && !o.attribute && (o.namespace = !0), p = !1; break; case A.word: if (y && this.content(y) === "|" && r[a + 2] && r[a + 2][k.FIELDS.TYPE] !== A.equals && !o.operator && !o.namespace) o.namespace = g, u = "namespace"; else if (!o.attribute || u === "attribute" && !p) { f && ((0, j.ensureObject)(o, "spaces", "attribute"), o.spaces.attribute.before = f, f = ""), c && ((0, j.ensureObject)(o, "raws", "spaces", "attribute"), o.raws.spaces.attribute.before = c, c = ""), o.attribute = (o.attribute || "") + g; var T = (0, j.getProp)(o, "raws", "attribute") || null; T && (o.raws.attribute += g), u = "attribute" } else if (!o.value && o.value !== "" || u === "value" && !p) { var P = (0, j.unesc)(g), I = (0, j.getProp)(o, "raws", "value") || "", G = o.value || ""; o.value = G + P, o.quoteMark = null, (P !== g || I) && ((0, j.ensureObject)(o, "raws"), o.raws.value = (I || G) + g), u = "value" } else { var me = g === "i" || g === "I"; (o.value || o.value === "") && (o.quoteMark || p) ? (o.insensitive = me, (!me || g === "I") && ((0, j.ensureObject)(o, "raws"), o.raws.insensitiveFlag = g), u = "insensitive", f && ((0, j.ensureObject)(o, "spaces", "insensitive"), o.spaces.insensitive.before = f, f = ""), c && ((0, j.ensureObject)(o, "raws", "spaces", "insensitive"), o.raws.spaces.insensitive.before = c, c = "")) : (o.value || o.value === "") && (u = "value", o.value += g, o.raws.value && (o.raws.value += g)) } p = !1; break; case A.str: if (!o.attribute || !o.operator) return this.error("Expected an attribute followed by an operator preceding the string.", { index: d[k.FIELDS.START_POS] }); var Y = (0, Wf.unescapeValue)(g), Nt = Y.unescaped, Nr = Y.quoteMark; o.value = Nt, o.quoteMark = Nr, u = "value", (0, j.ensureObject)(o, "raws"), o.raws.value = g, p = !1; break; case A.equals: if (!o.attribute) return this.expected("attribute", d[k.FIELDS.START_POS], g); if (o.value) return this.error('Unexpected "=" found; an operator was already defined.', { index: d[k.FIELDS.START_POS] }); o.operator = o.operator ? o.operator + g : g, u = "operator", p = !1; break; case A.comment: if (u) if (p || y && y[k.FIELDS.TYPE] === A.space || u === "insensitive") { var Ay = (0, j.getProp)(o, "spaces", u, "after") || "", Ey = (0, j.getProp)(o, "raws", "spaces", u, "after") || Ay; (0, j.ensureObject)(o, "raws", "spaces", u), o.raws.spaces[u].after = Ey + g } else { var Oy = o[u] || "", Ty = (0, j.getProp)(o, "raws", u) || Oy; (0, j.ensureObject)(o, "raws"), o.raws[u] = Ty + g } else c = c + g; break; default: return this.error('Unexpected "' + g + '" found.', { index: d[k.FIELDS.START_POS] }) }a++ } dt(o, "attribute"), dt(o, "namespace"), this.newNode(new Wf.default(o)), this.position++ }, e.parseWhitespaceEquivalentTokens = function (r) { r < 0 && (r = this.tokens.length); var s = this.position, n = [], o = "", a = void 0; do if (En[this.currToken[k.FIELDS.TYPE]]) this.options.lossy || (o += this.content()); else if (this.currToken[k.FIELDS.TYPE] === A.comment) { var f = {}; o && (f.before = o, o = ""), a = new Vf.default({ value: this.content(), source: pt(this.currToken), sourceIndex: this.currToken[k.FIELDS.START_POS], spaces: f }), n.push(a) } while (++this.position < r); if (o) { if (a) a.spaces.after = o; else if (!this.options.lossy) { var c = this.tokens[s], u = this.tokens[this.position - 1]; n.push(new _n.default({ value: "", source: Je(c[k.FIELDS.START_LINE], c[k.FIELDS.START_COL], u[k.FIELDS.END_LINE], u[k.FIELDS.END_COL]), sourceIndex: c[k.FIELDS.START_POS], spaces: { before: o, after: "" } })) } } return n }, e.convertWhitespaceNodesToSpace = function (r, s) { var n = this; s === void 0 && (s = !1); var o = "", a = ""; r.forEach(function (c) { var u = n.lossySpace(c.spaces.before, s), p = n.lossySpace(c.rawSpaceBefore, s); o += u + n.lossySpace(c.spaces.after, s && u.length === 0), a += u + c.value + n.lossySpace(c.rawSpaceAfter, s && p.length === 0) }), a === o && (a = void 0); var f = { space: o, rawSpace: a }; return f }, e.isNamedCombinator = function (r) { return r === void 0 && (r = this.position), this.tokens[r + 0] && this.tokens[r + 0][k.FIELDS.TYPE] === A.slash && this.tokens[r + 1] && this.tokens[r + 1][k.FIELDS.TYPE] === A.word && this.tokens[r + 2] && this.tokens[r + 2][k.FIELDS.TYPE] === A.slash }, e.namedCombinator = function () { if (this.isNamedCombinator()) { var r = this.content(this.tokens[this.position + 1]), s = (0, j.unesc)(r).toLowerCase(), n = {}; s !== r && (n.value = "/" + r + "/"); var o = new Cn.default({ value: "/" + s + "/", source: Je(this.currToken[k.FIELDS.START_LINE], this.currToken[k.FIELDS.START_COL], this.tokens[this.position + 2][k.FIELDS.END_LINE], this.tokens[this.position + 2][k.FIELDS.END_COL]), sourceIndex: this.currToken[k.FIELDS.START_POS], raws: n }); return this.position = this.position + 3, o } else this.unexpected() }, e.combinator = function () { var r = this; if (this.content() === "|") return this.namespace(); var s = this.locateNextMeaningfulToken(this.position); if (s < 0 || this.tokens[s][k.FIELDS.TYPE] === A.comma) { var n = this.parseWhitespaceEquivalentTokens(s); if (n.length > 0) { var o = this.current.last; if (o) { var a = this.convertWhitespaceNodesToSpace(n), f = a.space, c = a.rawSpace; c !== void 0 && (o.rawSpaceAfter += c), o.spaces.after += f } else n.forEach(function (I) { return r.newNode(I) }) } return } var u = this.currToken, p = void 0; s > this.position && (p = this.parseWhitespaceEquivalentTokens(s)); var d; if (this.isNamedCombinator() ? d = this.namedCombinator() : this.currToken[k.FIELDS.TYPE] === A.combinator ? (d = new Cn.default({ value: this.content(), source: pt(this.currToken), sourceIndex: this.currToken[k.FIELDS.START_POS] }), this.position++) : En[this.currToken[k.FIELDS.TYPE]] || p || this.unexpected(), d) { if (p) { var g = this.convertWhitespaceNodesToSpace(p), y = g.space, x = g.rawSpace; d.spaces.before = y, d.rawSpaceBefore = x } } else { var b = this.convertWhitespaceNodesToSpace(p, !0), v = b.space, S = b.rawSpace; S || (S = v); var T = {}, P = { spaces: {} }; v.endsWith(" ") && S.endsWith(" ") ? (T.before = v.slice(0, v.length - 1), P.spaces.before = S.slice(0, S.length - 1)) : v.startsWith(" ") && S.startsWith(" ") ? (T.after = v.slice(1), P.spaces.after = S.slice(1)) : P.value = S, d = new Cn.default({ value: " ", source: On(u, this.tokens[this.position - 1]), sourceIndex: u[k.FIELDS.START_POS], spaces: T, raws: P }) } return this.currToken && this.currToken[k.FIELDS.TYPE] === A.space && (d.spaces.after = this.optionalSpace(this.content()), this.position++), this.newNode(d) }, e.comma = function () { if (this.position === this.tokens.length - 1) { this.root.trailingComma = !0, this.position++; return } this.current._inferEndPosition(); var r = new Sn.default({ source: { start: Hf(this.tokens[this.position + 1]) } }); this.current.parent.append(r), this.current = r, this.position++ }, e.comment = function () { var r = this.currToken; this.newNode(new Vf.default({ value: this.content(), source: pt(r), sourceIndex: r[k.FIELDS.START_POS] })), this.position++ }, e.error = function (r, s) { throw this.root.error(r, s) }, e.missingBackslash = function () { return this.error("Expected a backslash preceding the semicolon.", { index: this.currToken[k.FIELDS.START_POS] }) }, e.missingParenthesis = function () { return this.expected("opening parenthesis", this.currToken[k.FIELDS.START_POS]) }, e.missingSquareBracket = function () { return this.expected("opening square bracket", this.currToken[k.FIELDS.START_POS]) }, e.unexpected = function () { return this.error("Unexpected '" + this.content() + "'. Escaping special characters with \\ may help.", this.currToken[k.FIELDS.START_POS]) }, e.namespace = function () { var r = this.prevToken && this.content(this.prevToken) || !0; if (this.nextToken[k.FIELDS.TYPE] === A.word) return this.position++, this.word(r); if (this.nextToken[k.FIELDS.TYPE] === A.asterisk) return this.position++, this.universal(r) }, e.nesting = function () { if (this.nextToken) { var r = this.content(this.nextToken); if (r === "|") { this.position++; return } } var s = this.currToken; this.newNode(new cx.default({ value: this.content(), source: pt(s), sourceIndex: s[k.FIELDS.START_POS] })), this.position++ }, e.parentheses = function () { var r = this.current.last, s = 1; if (this.position++, r && r.type === dx.PSEUDO) { var n = new Sn.default({ source: { start: Hf(this.tokens[this.position - 1]) } }), o = this.current; for (r.append(n), this.current = n; this.position < this.tokens.length && s;)this.currToken[k.FIELDS.TYPE] === A.openParenthesis && s++, this.currToken[k.FIELDS.TYPE] === A.closeParenthesis && s--, s ? this.parse() : (this.current.source.end = Qf(this.currToken), this.current.parent.source.end = Qf(this.currToken), this.position++); this.current = o } else { for (var a = this.currToken, f = "(", c; this.position < this.tokens.length && s;)this.currToken[k.FIELDS.TYPE] === A.openParenthesis && s++, this.currToken[k.FIELDS.TYPE] === A.closeParenthesis && s--, c = this.currToken, f += this.parseParenthesisToken(this.currToken), this.position++; r ? r.appendToPropertyAndEscape("value", f, f) : this.newNode(new _n.default({ value: f, source: Je(a[k.FIELDS.START_LINE], a[k.FIELDS.START_COL], c[k.FIELDS.END_LINE], c[k.FIELDS.END_COL]), sourceIndex: a[k.FIELDS.START_POS] })) } if (s) return this.expected("closing parenthesis", this.currToken[k.FIELDS.START_POS]) }, e.pseudo = function () { for (var r = this, s = "", n = this.currToken; this.currToken && this.currToken[k.FIELDS.TYPE] === A.colon;)s += this.content(), this.position++; if (!this.currToken) return this.expected(["pseudo-class", "pseudo-element"], this.position - 1); if (this.currToken[k.FIELDS.TYPE] === A.word) this.splitWord(!1, function (o, a) { s += o, r.newNode(new ux.default({ value: s, source: On(n, r.currToken), sourceIndex: n[k.FIELDS.START_POS] })), a > 1 && r.nextToken && r.nextToken[k.FIELDS.TYPE] === A.openParenthesis && r.error("Misplaced parenthesis.", { index: r.nextToken[k.FIELDS.START_POS] }) }); else return this.expected(["pseudo-class", "pseudo-element"], this.currToken[k.FIELDS.START_POS]) }, e.space = function () { var r = this.content(); this.position === 0 || this.prevToken[k.FIELDS.TYPE] === A.comma || this.prevToken[k.FIELDS.TYPE] === A.openParenthesis || this.current.nodes.every(function (s) { return s.type === "comment" }) ? (this.spaces = this.optionalSpace(r), this.position++) : this.position === this.tokens.length - 1 || this.nextToken[k.FIELDS.TYPE] === A.comma || this.nextToken[k.FIELDS.TYPE] === A.closeParenthesis ? (this.current.last.spaces.after = this.optionalSpace(r), this.position++) : this.combinator() }, e.string = function () { var r = this.currToken; this.newNode(new _n.default({ value: this.content(), source: pt(r), sourceIndex: r[k.FIELDS.START_POS] })), this.position++ }, e.universal = function (r) { var s = this.nextToken; if (s && this.content(s) === "|") return this.position++, this.namespace(); var n = this.currToken; this.newNode(new fx.default({ value: this.content(), source: pt(n), sourceIndex: n[k.FIELDS.START_POS] }), r), this.position++ }, e.splitWord = function (r, s) { for (var n = this, o = this.nextToken, a = this.content(); o && ~[A.dollar, A.caret, A.equals, A.word].indexOf(o[k.FIELDS.TYPE]);) { this.position++; var f = this.content(); if (a += f, f.lastIndexOf("\\") === f.length - 1) { var c = this.nextToken; c && c[k.FIELDS.TYPE] === A.space && (a += this.requiredSpace(this.content(c)), this.position++) } o = this.nextToken } var u = Tn(a, ".").filter(function (y) { var x = a[y - 1] === "\\", b = /^\d+\.\d+%$/.test(a); return !x && !b }), p = Tn(a, "#").filter(function (y) { return a[y - 1] !== "\\" }), d = Tn(a, "#{"); d.length && (p = p.filter(function (y) { return !~d.indexOf(y) })); var g = (0, px.default)(gx([0].concat(u, p))); g.forEach(function (y, x) { var b = g[x + 1] || a.length, v = a.slice(y, b); if (x === 0 && s) return s.call(n, v, g.length); var S, T = n.currToken, P = T[k.FIELDS.START_POS] + g[x], I = Je(T[1], T[2] + y, T[3], T[2] + (b - 1)); if (~u.indexOf(y)) { var G = { value: v.slice(1), source: I, sourceIndex: P }; S = new ox.default(dt(G, "value")) } else if (~p.indexOf(y)) { var me = { value: v.slice(1), source: I, sourceIndex: P }; S = new ax.default(dt(me, "value")) } else { var Y = { value: v, source: I, sourceIndex: P }; dt(Y, "value"), S = new lx.default(Y) } n.newNode(S, r), r = null }), this.position++ }, e.word = function (r) { var s = this.nextToken; return s && this.content(s) === "|" ? (this.position++, this.namespace()) : this.splitWord(r) }, e.loop = function () { for (; this.position < this.tokens.length;)this.parse(!0); return this.current._inferEndPosition(), this.root }, e.parse = function (r) { switch (this.currToken[k.FIELDS.TYPE]) { case A.space: this.space(); break; case A.comment: this.comment(); break; case A.openParenthesis: this.parentheses(); break; case A.closeParenthesis: r && this.missingParenthesis(); break; case A.openSquare: this.attribute(); break; case A.dollar: case A.caret: case A.equals: case A.word: this.word(); break; case A.colon: this.pseudo(); break; case A.comma: this.comma(); break; case A.asterisk: this.universal(); break; case A.ampersand: this.nesting(); break; case A.slash: case A.combinator: this.combinator(); break; case A.str: this.string(); break; case A.closeSquare: this.missingSquareBracket(); case A.semicolon: this.missingBackslash(); default: this.unexpected() } }, e.expected = function (r, s, n) { if (Array.isArray(r)) { var o = r.pop(); r = r.join(", ") + " or " + o } var a = /^[aeiou]/.test(r[0]) ? "an" : "a"; return n ? this.error("Expected " + a + " " + r + ', found "' + n + '" instead.', { index: s }) : this.error("Expected " + a + " " + r + ".", { index: s }) }, e.requiredSpace = function (r) { return this.options.lossy ? " " : r }, e.optionalSpace = function (r) { return this.options.lossy ? "" : r }, e.lossySpace = function (r, s) { return this.options.lossy ? s ? " " : "" : r }, e.parseParenthesisToken = function (r) { var s = this.content(r); return r[k.FIELDS.TYPE] === A.space ? this.requiredSpace(s) : s }, e.newNode = function (r, s) { return s && (/^ +$/.test(s) && (this.options.lossy || (this.spaces = (this.spaces || "") + s), s = !0), r.namespace = s, dt(r, "namespace")), this.spaces && (r.spaces.before = this.spaces, this.spaces = ""), this.current.append(r) }, e.content = function (r) { return r === void 0 && (r = this.currToken), this.css.slice(r[k.FIELDS.START_POS], r[k.FIELDS.END_POS]) }, e.locateNextMeaningfulToken = function (r) { r === void 0 && (r = this.position + 1); for (var s = r; s < this.tokens.length;)if (mx[this.tokens[s][k.FIELDS.TYPE]]) { s++; continue } else return s; return -1 }, hx(i, [{ key: "currToken", get: function () { return this.tokens[this.position] } }, { key: "nextToken", get: function () { return this.tokens[this.position + 1] } }, { key: "prevToken", get: function () { return this.tokens[this.position - 1] } }]), i }(); br.default = yx; Jf.exports = br.default }); var Zf = w((vr, Kf) => { l(); "use strict"; vr.__esModule = !0; vr.default = void 0; var wx = bx(Xf()); function bx(i) { return i && i.__esModule ? i : { default: i } } var vx = function () { function i(t, r) { this.func = t || function () { }, this.funcRes = null, this.options = r } var e = i.prototype; return e._shouldUpdateSelector = function (r, s) { s === void 0 && (s = {}); var n = Object.assign({}, this.options, s); return n.updateSelector === !1 ? !1 : typeof r != "string" }, e._isLossy = function (r) { r === void 0 && (r = {}); var s = Object.assign({}, this.options, r); return s.lossless === !1 }, e._root = function (r, s) { s === void 0 && (s = {}); var n = new wx.default(r, this._parseOptions(s)); return n.root }, e._parseOptions = function (r) { return { lossy: this._isLossy(r) } }, e._run = function (r, s) { var n = this; return s === void 0 && (s = {}), new Promise(function (o, a) { try { var f = n._root(r, s); Promise.resolve(n.func(f)).then(function (c) { var u = void 0; return n._shouldUpdateSelector(r, s) && (u = f.toString(), r.selector = u), { transform: c, root: f, string: u } }).then(o, a) } catch (c) { a(c); return } }) }, e._runSync = function (r, s) { s === void 0 && (s = {}); var n = this._root(r, s), o = this.func(n); if (o && typeof o.then == "function") throw new Error("Selector processor returned a promise to a synchronous call."); var a = void 0; return s.updateSelector && typeof r != "string" && (a = n.toString(), r.selector = a), { transform: o, root: n, string: a } }, e.ast = function (r, s) { return this._run(r, s).then(function (n) { return n.root }) }, e.astSync = function (r, s) { return this._runSync(r, s).root }, e.transform = function (r, s) { return this._run(r, s).then(function (n) { return n.transform }) }, e.transformSync = function (r, s) { return this._runSync(r, s).transform }, e.process = function (r, s) { return this._run(r, s).then(function (n) { return n.string || n.root.toString() }) }, e.processSync = function (r, s) { var n = this._runSync(r, s); return n.string || n.root.toString() }, i }(); vr.default = vx; Kf.exports = vr.default }); var ec = w(z => { l(); "use strict"; z.__esModule = !0; z.universal = z.tag = z.string = z.selector = z.root = z.pseudo = z.nesting = z.id = z.comment = z.combinator = z.className = z.attribute = void 0; var xx = ie(hn()), kx = ie(Js()), Sx = ie(wn()), _x = ie(Ks()), Cx = ie(en()), Ax = ie(vn()), Ex = ie(ln()), Ox = ie(Ws()), Tx = ie(Ys()), Px = ie(on()), Dx = ie(sn()), qx = ie(gn()); function ie(i) { return i && i.__esModule ? i : { default: i } } var Ix = function (e) { return new xx.default(e) }; z.attribute = Ix; var Rx = function (e) { return new kx.default(e) }; z.className = Rx; var Mx = function (e) { return new Sx.default(e) }; z.combinator = Mx; var Nx = function (e) { return new _x.default(e) }; z.comment = Nx; var Lx = function (e) { return new Cx.default(e) }; z.id = Lx; var Bx = function (e) { return new Ax.default(e) }; z.nesting = Bx; var Fx = function (e) { return new Ex.default(e) }; z.pseudo = Fx; var zx = function (e) { return new Ox.default(e) }; z.root = zx; var $x = function (e) { return new Tx.default(e) }; z.selector = $x; var jx = function (e) { return new Px.default(e) }; z.string = jx; var Ux = function (e) { return new Dx.default(e) }; z.tag = Ux; var Vx = function (e) { return new qx.default(e) }; z.universal = Vx }); var sc = w(R => { l(); "use strict"; R.__esModule = !0; R.isNode = Pn; R.isPseudoElement = ic; R.isPseudoClass = t1; R.isContainer = r1; R.isNamespace = i1; R.isUniversal = R.isTag = R.isString = R.isSelector = R.isRoot = R.isPseudo = R.isNesting = R.isIdentifier = R.isComment = R.isCombinator = R.isClassName = R.isAttribute = void 0; var U = Q(), X, Wx = (X = {}, X[U.ATTRIBUTE] = !0, X[U.CLASS] = !0, X[U.COMBINATOR] = !0, X[U.COMMENT] = !0, X[U.ID] = !0, X[U.NESTING] = !0, X[U.PSEUDO] = !0, X[U.ROOT] = !0, X[U.SELECTOR] = !0, X[U.STRING] = !0, X[U.TAG] = !0, X[U.UNIVERSAL] = !0, X); function Pn(i) { return typeof i == "object" && Wx[i.type] } function se(i, e) { return Pn(e) && e.type === i } var tc = se.bind(null, U.ATTRIBUTE); R.isAttribute = tc; var Gx = se.bind(null, U.CLASS); R.isClassName = Gx; var Yx = se.bind(null, U.COMBINATOR); R.isCombinator = Yx; var Hx = se.bind(null, U.COMMENT); R.isComment = Hx; var Qx = se.bind(null, U.ID); R.isIdentifier = Qx; var Jx = se.bind(null, U.NESTING); R.isNesting = Jx; var Dn = se.bind(null, U.PSEUDO); R.isPseudo = Dn; var Xx = se.bind(null, U.ROOT); R.isRoot = Xx; var Kx = se.bind(null, U.SELECTOR); R.isSelector = Kx; var Zx = se.bind(null, U.STRING); R.isString = Zx; var rc = se.bind(null, U.TAG); R.isTag = rc; var e1 = se.bind(null, U.UNIVERSAL); R.isUniversal = e1; function ic(i) { return Dn(i) && i.value && (i.value.startsWith("::") || i.value.toLowerCase() === ":before" || i.value.toLowerCase() === ":after") } function t1(i) { return Dn(i) && !ic(i) } function r1(i) { return !!(Pn(i) && i.walk) } function i1(i) { return tc(i) || rc(i) } }); var nc = w(ce => { l(); "use strict"; ce.__esModule = !0; var qn = Q(); Object.keys(qn).forEach(function (i) { i === "default" || i === "__esModule" || i in ce && ce[i] === qn[i] || (ce[i] = qn[i]) }); var In = ec(); Object.keys(In).forEach(function (i) { i === "default" || i === "__esModule" || i in ce && ce[i] === In[i] || (ce[i] = In[i]) }); var Rn = sc(); Object.keys(Rn).forEach(function (i) { i === "default" || i === "__esModule" || i in ce && ce[i] === Rn[i] || (ce[i] = Rn[i]) }) }); var be = w((xr, ac) => { l(); "use strict"; xr.__esModule = !0; xr.default = void 0; var s1 = a1(Zf()), n1 = o1(nc()); function oc() { if (typeof WeakMap != "function") return null; var i = new WeakMap; return oc = function () { return i }, i } function o1(i) { if (i && i.__esModule) return i; if (i === null || typeof i != "object" && typeof i != "function") return { default: i }; var e = oc(); if (e && e.has(i)) return e.get(i); var t = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var s in i) if (Object.prototype.hasOwnProperty.call(i, s)) { var n = r ? Object.getOwnPropertyDescriptor(i, s) : null; n && (n.get || n.set) ? Object.defineProperty(t, s, n) : t[s] = i[s] } return t.default = i, e && e.set(i, t), t } function a1(i) { return i && i.__esModule ? i : { default: i } } var Mn = function (e) { return new s1.default(e) }; Object.assign(Mn, n1); delete Mn.__esModule; var l1 = Mn; xr.default = l1; ac.exports = xr.default }); function De(i) { return ["fontSize", "outline"].includes(i) ? e => (typeof e == "function" && (e = e({})), Array.isArray(e) && (e = e[0]), e) : ["fontFamily", "boxShadow", "transitionProperty", "transitionDuration", "transitionDelay", "transitionTimingFunction", "backgroundImage", "backgroundSize", "backgroundColor", "cursor", "animation"].includes(i) ? e => (typeof e == "function" && (e = e({})), Array.isArray(e) && (e = e.join(", ")), e) : ["gridTemplateColumns", "gridTemplateRows", "objectPosition"].includes(i) ? e => (typeof e == "function" && (e = e({})), typeof e == "string" && (e = B.list.comma(e).join(" ")), e) : e => (typeof e == "function" && (e = e({})), e) } var kr = _(() => { l(); Ne() }); var pc = w((m5, Fn) => { l(); var lc = be(); function Nn(i, e) { let t, r = lc(s => { t = s }); try { r.processSync(i) } catch (s) { throw i.includes(":") ? e ? e.error("Missed semicolon") : s : e ? e.error(s.message) : s } return t.at(0) } function uc(i, e) { let t = !1; return i.each(r => { if (r.type === "nesting") { let s = e.clone(); r.value !== "&" ? r.replaceWith(Nn(r.value.replace("&", s.toString()))) : r.replaceWith(s), t = !0 } else r.nodes && uc(r, e) && (t = !0) }), t } function fc(i, e) { let t = []; return i.selectors.forEach(r => { let s = Nn(r, i); e.selectors.forEach(n => { if (n.length) { let o = Nn(n, e); uc(o, s) || (o.prepend(lc.combinator({ value: " " })), o.prepend(s.clone())), t.push(o.toString()) } }) }), t } function Ln(i, e) { return i && i.type === "comment" ? (e.after(i), i) : e } function u1(i) { return function e(t, r, s) { let n = []; if (r.each(o => { o.type === "comment" || o.type === "decl" ? n.push(o) : o.type === "rule" && s ? o.selectors = fc(t, o) : o.type === "atrule" && (o.nodes && i[o.name] ? e(t, o, !0) : n.push(o)) }), s && n.length) { let o = t.clone({ nodes: [] }); for (let a of n) o.append(a); r.prepend(o) } } } function Bn(i, e, t, r) { let s = new r({ selector: i, nodes: [] }); for (let n of e) s.append(n); return t.after(s), s } function cc(i, e) { let t = {}; for (let r of i) t[r] = !0; if (e) for (let r of e) { let s = r.replace(/^@/, ""); t[s] = !0 } return t } Fn.exports = (i = {}) => { let e = cc(["media", "supports"], i.bubble), t = u1(e), r = cc(["document", "font-face", "keyframes", "-webkit-keyframes", "-moz-keyframes"], i.unwrap), s = i.preserveEmpty; return { postcssPlugin: "postcss-nested", Rule(n, { Rule: o }) { let a = !1, f = n, c = !1, u = []; n.each(p => { if (p.type === "rule") u.length && (f = Bn(n.selector, u, f, o), u = []), c = !0, a = !0, p.selectors = fc(n, p), f = Ln(p.prev(), f), f.after(p), f = p; else if (p.type === "atrule") if (u.length && (f = Bn(n.selector, u, f, o), u = []), p.name === "at-root") { a = !0, t(n, p, !1); let d = p.nodes; p.params && (d = new o({ selector: p.params, nodes: d })), f.after(d), f = d, p.remove() } else e[p.name] ? (c = !0, a = !0, t(n, p, !0), f = Ln(p.prev(), f), f.after(p), f = p) : r[p.name] ? (c = !0, a = !0, t(n, p, !1), f = Ln(p.prev(), f), f.after(p), f = p) : c && u.push(p); else p.type === "decl" && c && u.push(p) }), u.length && (f = Bn(n.selector, u, f, o)), a && s !== !0 && (n.raws.semicolon = !0, n.nodes.length === 0 && n.remove()) } } }; Fn.exports.postcss = !0 }); var gc = w((g5, mc) => { l(); "use strict"; var dc = /-(\w|$)/g, hc = (i, e) => e.toUpperCase(), f1 = i => (i = i.toLowerCase(), i === "float" ? "cssFloat" : i.startsWith("-ms-") ? i.substr(1).replace(dc, hc) : i.replace(dc, hc)); mc.exports = f1 }); var jn = w((y5, yc) => { l(); var c1 = gc(), p1 = { boxFlex: !0, boxFlexGroup: !0, columnCount: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, strokeDashoffset: !0, strokeOpacity: !0, strokeWidth: !0 }; function zn(i) { return typeof i.nodes == "undefined" ? !0 : $n(i) } function $n(i) { let e, t = {}; return i.each(r => { if (r.type === "atrule") e = "@" + r.name, r.params && (e += " " + r.params), typeof t[e] == "undefined" ? t[e] = zn(r) : Array.isArray(t[e]) ? t[e].push(zn(r)) : t[e] = [t[e], zn(r)]; else if (r.type === "rule") { let s = $n(r); if (t[r.selector]) for (let n in s) t[r.selector][n] = s[n]; else t[r.selector] = s } else if (r.type === "decl") { r.prop[0] === "-" && r.prop[1] === "-" ? e = r.prop : e = c1(r.prop); let s = r.value; !isNaN(r.value) && p1[e] && (s = parseFloat(r.value)), r.important && (s += " !important"), typeof t[e] == "undefined" ? t[e] = s : Array.isArray(t[e]) ? t[e].push(s) : t[e] = [t[e], s] } }), t } yc.exports = $n }); var Mi = w((w5, xc) => { l(); var Sr = te(), wc = /\s*!important\s*$/i, d1 = { "box-flex": !0, "box-flex-group": !0, "column-count": !0, flex: !0, "flex-grow": !0, "flex-positive": !0, "flex-shrink": !0, "flex-negative": !0, "font-weight": !0, "line-clamp": !0, "line-height": !0, opacity: !0, order: !0, orphans: !0, "tab-size": !0, widows: !0, "z-index": !0, zoom: !0, "fill-opacity": !0, "stroke-dashoffset": !0, "stroke-opacity": !0, "stroke-width": !0 }; function h1(i) { return i.replace(/([A-Z])/g, "-$1").replace(/^ms-/, "-ms-").toLowerCase() } function bc(i, e, t) { t === !1 || t === null || (e.startsWith("--") || (e = h1(e)), typeof t == "number" && (t === 0 || d1[e] ? t = t.toString() : t += "px"), e === "css-float" && (e = "float"), wc.test(t) ? (t = t.replace(wc, ""), i.push(Sr.decl({ prop: e, value: t, important: !0 }))) : i.push(Sr.decl({ prop: e, value: t }))) } function vc(i, e, t) { let r = Sr.atRule({ name: e[1], params: e[3] || "" }); typeof t == "object" && (r.nodes = [], Un(t, r)), i.push(r) } function Un(i, e) { let t, r, s; for (t in i) if (r = i[t], !(r === null || typeof r == "undefined")) if (t[0] === "@") { let n = t.match(/@(\S+)(\s+([\W\w]*)\s*)?/); if (Array.isArray(r)) for (let o of r) vc(e, n, o); else vc(e, n, r) } else if (Array.isArray(r)) for (let n of r) bc(e, t, n); else typeof r == "object" ? (s = Sr.rule({ selector: t }), Un(r, s), e.push(s)) : bc(e, t, r) } xc.exports = function (i) { let e = Sr.root(); return Un(i, e), e } }); var Vn = w((b5, kc) => { l(); var m1 = jn(); kc.exports = function (e) { return console && console.warn && e.warnings().forEach(t => { let r = t.plugin || "PostCSS"; console.warn(r + ": " + t.text) }), m1(e.root) } }); var _c = w((v5, Sc) => { l(); var g1 = te(), y1 = Vn(), w1 = Mi(); Sc.exports = function (e) { let t = g1(e); return async r => { let s = await t.process(r, { parser: w1, from: void 0 }); return y1(s) } } }); var Ac = w((x5, Cc) => { l(); var b1 = te(), v1 = Vn(), x1 = Mi(); Cc.exports = function (i) { let e = b1(i); return t => { let r = e.process(t, { parser: x1, from: void 0 }); return v1(r) } } }); var Oc = w((k5, Ec) => { l(); var k1 = jn(), S1 = Mi(), _1 = _c(), C1 = Ac(); Ec.exports = { objectify: k1, parse: S1, async: _1, sync: C1 } }); var ht, Tc, S5, _5, C5, A5, Pc = _(() => { l(); ht = V(Oc()), Tc = ht.default, S5 = ht.default.objectify, _5 = ht.default.parse, C5 = ht.default.async, A5 = ht.default.sync }); function mt(i) { return Array.isArray(i) ? i.flatMap(e => B([(0, Dc.default)({ bubble: ["screen"] })]).process(e, { parser: Tc }).root.nodes) : mt([i]) } var Dc, Wn = _(() => { l(); Ne(); Dc = V(pc()); Pc() }); function gt(i, e, t = !1) { return (0, qc.default)(r => { r.walkClasses(s => { let n = s.value, o = t && n.startsWith("-"); s.value = o ? `-${i}${n.slice(1)}` : `${i}${n}` }) }).processSync(e) } var qc, Ni = _(() => { l(); qc = V(be()) }); function Xe(i) { return i.replace(/\\,/g, "\\2c ") } var Li = _(() => { l() }); function pe(i) { let e = Ic.default.className(); return e.value = i, Xe(e?.raws?.value ?? e.value) } var Ic, _r = _(() => { l(); Ic = V(be()); Li() }); function Gn(i) { return Xe(`.${pe(i)}`) } function Bi(i, e) { return Gn(Cr(i, e)) } function Cr(i, e) { return e === "DEFAULT" ? i : e === "-" || e === "-DEFAULT" ? `-${i}` : e.startsWith("-") ? `-${i}${e}` : `${i}-${e}` } var Yn = _(() => { l(); _r(); Li() }); var Mc = w((B5, Rc) => { l(); "use strict"; Rc.exports = { aliceblue: [240, 248, 255], antiquewhite: [250, 235, 215], aqua: [0, 255, 255], aquamarine: [127, 255, 212], azure: [240, 255, 255], beige: [245, 245, 220], bisque: [255, 228, 196], black: [0, 0, 0], blanchedalmond: [255, 235, 205], blue: [0, 0, 255], blueviolet: [138, 43, 226], brown: [165, 42, 42], burlywood: [222, 184, 135], cadetblue: [95, 158, 160], chartreuse: [127, 255, 0], chocolate: [210, 105, 30], coral: [255, 127, 80], cornflowerblue: [100, 149, 237], cornsilk: [255, 248, 220], crimson: [220, 20, 60], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgoldenrod: [184, 134, 11], darkgray: [169, 169, 169], darkgreen: [0, 100, 0], darkgrey: [169, 169, 169], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkseagreen: [143, 188, 143], darkslateblue: [72, 61, 139], darkslategray: [47, 79, 79], darkslategrey: [47, 79, 79], darkturquoise: [0, 206, 209], darkviolet: [148, 0, 211], deeppink: [255, 20, 147], deepskyblue: [0, 191, 255], dimgray: [105, 105, 105], dimgrey: [105, 105, 105], dodgerblue: [30, 144, 255], firebrick: [178, 34, 34], floralwhite: [255, 250, 240], forestgreen: [34, 139, 34], fuchsia: [255, 0, 255], gainsboro: [220, 220, 220], ghostwhite: [248, 248, 255], gold: [255, 215, 0], goldenrod: [218, 165, 32], gray: [128, 128, 128], green: [0, 128, 0], greenyellow: [173, 255, 47], grey: [128, 128, 128], honeydew: [240, 255, 240], hotpink: [255, 105, 180], indianred: [205, 92, 92], indigo: [75, 0, 130], ivory: [255, 255, 240], khaki: [240, 230, 140], lavender: [230, 230, 250], lavenderblush: [255, 240, 245], lawngreen: [124, 252, 0], lemonchiffon: [255, 250, 205], lightblue: [173, 216, 230], lightcoral: [240, 128, 128], lightcyan: [224, 255, 255], lightgoldenrodyellow: [250, 250, 210], lightgray: [211, 211, 211], lightgreen: [144, 238, 144], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightsalmon: [255, 160, 122], lightseagreen: [32, 178, 170], lightskyblue: [135, 206, 250], lightslategray: [119, 136, 153], lightslategrey: [119, 136, 153], lightsteelblue: [176, 196, 222], lightyellow: [255, 255, 224], lime: [0, 255, 0], limegreen: [50, 205, 50], linen: [250, 240, 230], magenta: [255, 0, 255], maroon: [128, 0, 0], mediumaquamarine: [102, 205, 170], mediumblue: [0, 0, 205], mediumorchid: [186, 85, 211], mediumpurple: [147, 112, 219], mediumseagreen: [60, 179, 113], mediumslateblue: [123, 104, 238], mediumspringgreen: [0, 250, 154], mediumturquoise: [72, 209, 204], mediumvioletred: [199, 21, 133], midnightblue: [25, 25, 112], mintcream: [245, 255, 250], mistyrose: [255, 228, 225], moccasin: [255, 228, 181], navajowhite: [255, 222, 173], navy: [0, 0, 128], oldlace: [253, 245, 230], olive: [128, 128, 0], olivedrab: [107, 142, 35], orange: [255, 165, 0], orangered: [255, 69, 0], orchid: [218, 112, 214], palegoldenrod: [238, 232, 170], palegreen: [152, 251, 152], paleturquoise: [175, 238, 238], palevioletred: [219, 112, 147], papayawhip: [255, 239, 213], peachpuff: [255, 218, 185], peru: [205, 133, 63], pink: [255, 192, 203], plum: [221, 160, 221], powderblue: [176, 224, 230], purple: [128, 0, 128], rebeccapurple: [102, 51, 153], red: [255, 0, 0], rosybrown: [188, 143, 143], royalblue: [65, 105, 225], saddlebrown: [139, 69, 19], salmon: [250, 128, 114], sandybrown: [244, 164, 96], seagreen: [46, 139, 87], seashell: [255, 245, 238], sienna: [160, 82, 45], silver: [192, 192, 192], skyblue: [135, 206, 235], slateblue: [106, 90, 205], slategray: [112, 128, 144], slategrey: [112, 128, 144], snow: [255, 250, 250], springgreen: [0, 255, 127], steelblue: [70, 130, 180], tan: [210, 180, 140], teal: [0, 128, 128], thistle: [216, 191, 216], tomato: [255, 99, 71], turquoise: [64, 224, 208], violet: [238, 130, 238], wheat: [245, 222, 179], white: [255, 255, 255], whitesmoke: [245, 245, 245], yellow: [255, 255, 0], yellowgreen: [154, 205, 50] } }); function Ar(i) { if (typeof i != "string") return null; if (i = i.trim(), i === "transparent") return { mode: "rgb", color: ["0", "0", "0"], alpha: "0" }; if (i in Hn.default) return { mode: "rgb", color: Hn.default[i].map(s => s.toString()) }; let e = i.replace(E1, (s, n, o, a, f) => ["#", n, n, o, o, a, a, f ? f + f : ""].join("")).match(A1); if (e !== null) return { mode: "rgb", color: [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)].map(s => s.toString()), alpha: e[4] ? (parseInt(e[4], 16) / 255).toString() : void 0 }; let t = i.match(O1); if (t !== null) return { mode: "rgb", color: [t[1], t[2], t[3]].map(s => s.toString()), alpha: t[4]?.toString?.() }; let r = i.match(T1); return r !== null ? { mode: "hsl", color: [r[1], r[2], r[3]].map(s => s.toString()), alpha: r[4]?.toString?.() } : null } function Qn({ mode: i, color: e, alpha: t }) { let r = t !== void 0; return `${i}(${e.join(" ")}${r ? ` / ${t}` : ""})` } var Hn, A1, E1, Le, Fi, Nc, O1, T1, Jn = _(() => { l(); Hn = V(Mc()), A1 = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i, E1 = /^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i, Le = "(?:\\d+|\\d*\\.\\d+)%?", Fi = "(?:\\s*,\\s*|\\s+)", Nc = "\\s*[,/]\\s*", O1 = new RegExp(`^rgba?\\(\\s*(${Le})${Fi}(${Le})${Fi}(${Le})(?:${Nc}(${Le}))?\\s*\\)$`), T1 = new RegExp(`^hsla?\\(\\s*((?:${Le})(?:deg|rad|grad|turn)?)${Fi}(${Le})${Fi}(${Le})(?:${Nc}(${Le}))?\\s*\\)$`) }); function yt(i, e, t) { if (typeof i == "function") return i({ opacityValue: e }); let r = Ar(i); return r === null ? t : Qn({ ...r, alpha: e }) } function K({ color: i, property: e, variable: t }) { let r = [].concat(e); if (typeof i == "function") return { [t]: "1", ...Object.fromEntries(r.map(n => [n, i({ opacityVariable: t, opacityValue: `var(${t})` })])) }; let s = Ar(i); return s === null ? Object.fromEntries(r.map(n => [n, i])) : s.alpha !== void 0 ? Object.fromEntries(r.map(n => [n, i])) : { [t]: "1", ...Object.fromEntries(r.map(n => [n, Qn({ ...s, alpha: `var(${t})` })])) } } var Xn = _(() => { l(); Jn() }); function zi(i) { return i.split(D1).map(t => { let r = t.trim(), s = { raw: r }, n = r.split(q1), o = new Set; for (let a of n) Lc.lastIndex = 0, !o.has("KEYWORD") && P1.has(a) ? (s.keyword = a, o.add("KEYWORD")) : Lc.test(a) ? o.has("X") ? o.has("Y") ? o.has("BLUR") ? o.has("SPREAD") || (s.spread = a, o.add("SPREAD")) : (s.blur = a, o.add("BLUR")) : (s.y = a, o.add("Y")) : (s.x = a, o.add("X")) : s.color ? (s.unknown || (s.unknown = []), s.unknown.push(a)) : s.color = a; return s.valid = s.x !== void 0 && s.y !== void 0, s }) } function Bc(i) { return i.map(e => e.valid ? [e.keyword, e.x, e.y, e.blur, e.spread, e.color].filter(Boolean).join(" ") : e.raw).join(", ") } var P1, D1, q1, Lc, Kn = _(() => { l(); P1 = new Set(["inset", "inherit", "initial", "revert", "unset"]), D1 = /\,(?![^(]*\))/g, q1 = /\ +(?![^(]*\))/g, Lc = /^-?(\d+|\.\d+)(.*?)$/g }); function de(i, e = !0) { return i.includes("url(") ? i.split(/(url\(.*?\))/g).filter(Boolean).map(t => /^url\(.*?\)$/.test(t) ? t : de(t, !1)).join("") : (i = i.replace(/([^\\])_+/g, (t, r) => r + " ".repeat(t.length - 1)).replace(/^_/g, " ").replace(/\\_/g, "_"), e && (i = i.trim()), i.replace(/(-?\d*\.?\d(?!\b-.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g, "$1 $2 ")) } function to(i) { return i.startsWith("url(") } function zc(i) { return !isNaN(Number(i)) || Zn.some(e => new RegExp(`^${e}\\(.+?`).test(i)) } function ro(i) { return /%$/g.test(i) || Zn.some(e => new RegExp(`^${e}\\(.+?%`).test(i)) } function io(i) { return i.split(eo).every(e => e === "0" || new RegExp(`${$c}$`).test(e) || Zn.some(t => new RegExp(`^${t}\\(.+?${$c}`).test(e))) } function jc(i) { return R1.has(i) } function Uc(i) { let e = zi(de(i)); for (let t of e) if (!t.valid) return !1; return !0 } function Vc(i) { let e = 0; return i.split(eo).every(r => (r = de(r), r.startsWith("var(") ? !0 : Ar(r) !== null ? (e++, !0) : !1)) ? e > 0 : !1 } function Wc(i) { let e = 0; return i.split(Fc).every(r => (r = de(r), r.startsWith("var(") ? !0 : to(r) || N1(r) || ["element(", "image(", "cross-fade(", "image-set("].some(s => r.startsWith(s)) ? (e++, !0) : !1)) ? e > 0 : !1 } function N1(i) { i = de(i); for (let e of M1) if (i.startsWith(`${e}(`)) return !0; return !1 } function Gc(i) { let e = 0; return i.split(eo).every(r => (r = de(r), r.startsWith("var(") ? !0 : L1.has(r) || io(r) || ro(r) ? (e++, !0) : !1)) ? e > 0 : !1 } function Yc(i) { let e = 0; return i.split(Fc).every(r => (r = de(r), r.startsWith("var(") ? !0 : r.includes(" ") && !/(['"])([^"']+)\1/g.test(r) || /^\d/g.test(r) ? !1 : (e++, !0))) ? e > 0 : !1 } function Hc(i) { return B1.has(i) } function Qc(i) { return F1.has(i) } function Jc(i) { return z1.has(i) } var Zn, Fc, eo, I1, $c, R1, M1, L1, B1, F1, z1, so = _(() => { l(); Jn(); Kn(); Zn = ["min", "max", "clamp", "calc"], Fc = /,(?![^(]*\))/g, eo = /_(?![^(]*\))/g; I1 = ["cm", "mm", "Q", "in", "pc", "pt", "px", "em", "ex", "ch", "rem", "lh", "vw", "vh", "vmin", "vmax"], $c = `(?:${I1.join("|")})`; R1 = new Set(["thin", "medium", "thick"]); M1 = new Set(["linear-gradient", "radial-gradient", "repeating-linear-gradient", "repeating-radial-gradient", "conic-gradient"]); L1 = new Set(["center", "top", "right", "bottom", "left"]); B1 = new Set(["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui", "ui-serif", "ui-sans-serif", "ui-monospace", "ui-rounded", "math", "emoji", "fangsong"]); F1 = new Set(["xx-small", "x-small", "small", "medium", "large", "x-large", "x-large", "xxx-large"]); z1 = new Set(["larger", "smaller"]) }); function Kc(i, e) { return (0, Xc.default)(s => { s.walkClasses(n => { let o = e(n.value); n.value = o, n.raws && n.raws.value && (n.raws.value = Xe(n.raws.value)) }) }).processSync(i) } function Zc(i, e) { if (!Er(i)) return; let t = i.slice(1, -1); if (!!e(t)) return de(t) } function $1(i, e = {}, t) { let r = e[i]; if (r !== void 0) return We(r); if (Er(i)) { let s = Zc(i, t); return s === void 0 ? void 0 : We(s) } } function $i(i, e = {}, { validate: t = () => !0 } = {}) { let r = e.values?.[i]; return r !== void 0 ? r : e.supportsNegativeValues && i.startsWith("-") ? $1(i.slice(1), e.values, t) : Zc(i, t) } function Er(i) { return i.startsWith("[") && i.endsWith("]") } function j1(i) { let e = i.lastIndexOf("/"); return e === -1 || e === i.length - 1 ? [i] : [i.slice(0, e), i.slice(e + 1)] } function U1(i, e = {}, { tailwindConfig: t = {} } = {}) { if (e.values?.[i] !== void 0) return e.values?.[i]; let [r, s] = j1(i); if (s !== void 0) { let n = e.values?.[r] ?? (Er(r) ? r.slice(1, -1) : void 0); return n === void 0 ? void 0 : Er(s) ? yt(n, s.slice(1, -1)) : t.theme?.opacity?.[s] === void 0 ? void 0 : yt(n, t.theme.opacity[s]) } return $i(i, e, { validate: Vc }) } function V1(i, e = {}) { return e.values?.[i] } function ne(i) { return (e, t) => $i(e, t, { validate: i }) } function W1(i, e) { let t = i.indexOf(e); return t === -1 ? [void 0, i] : [i.slice(0, t), i.slice(t + 1)] } function no(i, e, t, r) { if (Er(e)) { let s = e.slice(1, -1), [n, o] = W1(s, ":"); if (!/^[\w-_]+$/g.test(n)) o = s; else if (n !== void 0 && !tp.includes(n)) return []; if (o.length > 0 && tp.includes(n)) return [$i(`[${o}]`, t), n] } for (let s of [].concat(i)) { let n = ep[s](e, t, { tailwindConfig: r }); if (n !== void 0) return [n, s] } return [] } var Xc, ep, tp, oo = _(() => { l(); Xc = V(be()); Li(); Xn(); so(); zr(); ep = { any: $i, color: U1, url: ne(to), image: ne(Wc), length: ne(io), percentage: ne(ro), position: ne(Gc), lookup: V1, "generic-name": ne(Hc), "family-name": ne(Yc), number: ne(zc), "line-width": ne(jc), "absolute-size": ne(Qc), "relative-size": ne(Jc), shadow: ne(Uc) }, tp = Object.keys(ep) }); function Ke(i) { return (i > 0n) - (i < 0n) } var ji = _(() => { l() }); function E(i, e = [[i, [i]]], { filterDefault: t = !1, ...r } = {}) { let s = De(i); return function ({ matchUtilities: n, theme: o }) { for (let a of e) { let f = Array.isArray(a[0]) ? a : [a]; n(f.reduce((c, [u, p]) => Object.assign(c, { [u]: d => p.reduce((g, y) => Array.isArray(y) ? Object.assign(g, { [y[0]]: y[1] }) : Object.assign(g, { [y]: s(d) }), {}) }), {}), { ...r, values: t ? Object.fromEntries(Object.entries(o(i) ?? {}).filter(([c]) => c !== "DEFAULT")) : o(i) }) } } } var rp = _(() => { l(); kr() }); function Ze(i) { return i = Array.isArray(i) ? i : [i], i.map(e => e.values.map(t => t.raw !== void 0 ? t.raw : [t.min && `(min-width: ${t.min})`, t.max && `(max-width: ${t.max})`].filter(Boolean).join(" and "))).join(", ") } var Ui = _(() => { l() }); function ao(i) { return i.split(K1).map(t => { let r = t.trim(), s = { value: r }, n = r.split(Z1), o = new Set; for (let a of n) !o.has("DIRECTIONS") && G1.has(a) ? (s.direction = a, o.add("DIRECTIONS")) : !o.has("PLAY_STATES") && Y1.has(a) ? (s.playState = a, o.add("PLAY_STATES")) : !o.has("FILL_MODES") && H1.has(a) ? (s.fillMode = a, o.add("FILL_MODES")) : !o.has("ITERATION_COUNTS") && (Q1.has(a) || ek.test(a)) ? (s.iterationCount = a, o.add("ITERATION_COUNTS")) : !o.has("TIMING_FUNCTION") && J1.has(a) || !o.has("TIMING_FUNCTION") && X1.some(f => a.startsWith(`${f}(`)) ? (s.timingFunction = a, o.add("TIMING_FUNCTION")) : !o.has("DURATION") && ip.test(a) ? (s.duration = a, o.add("DURATION")) : !o.has("DELAY") && ip.test(a) ? (s.delay = a, o.add("DELAY")) : o.has("NAME") ? (s.unknown || (s.unknown = []), s.unknown.push(a)) : (s.name = a, o.add("NAME")); return s }) } var G1, Y1, H1, Q1, J1, X1, K1, Z1, ip, ek, sp = _(() => { l(); G1 = new Set(["normal", "reverse", "alternate", "alternate-reverse"]), Y1 = new Set(["running", "paused"]), H1 = new Set(["none", "forwards", "backwards", "both"]), Q1 = new Set(["infinite"]), J1 = new Set(["linear", "ease", "ease-in", "ease-out", "ease-in-out", "step-start", "step-end"]), X1 = ["cubic-bezier", "steps"], K1 = /\,(?![^(]*\))/g, Z1 = /\ +(?![^(]*\))/g, ip = /^(-?[\d.]+m?s)$/, ek = /^(\d+)$/ }); var np, H, op = _(() => { l(); np = i => Object.assign({}, ...Object.entries(i ?? {}).flatMap(([e, t]) => typeof t == "object" ? Object.entries(np(t)).map(([r, s]) => ({ [e + (r === "DEFAULT" ? "" : `-${r}`)]: s })) : [{ [`${e}`]: t }])), H = np }); function $(i) { return typeof i == "function" ? i({}) : i } var ap = _(() => { l() }); var up, lp = _(() => { up = "3.0.23" }); function Be(i, e = !0) { return Array.isArray(i) ? i.map(t => { if (e && Array.isArray(t)) throw new Error("The tuple syntax is not supported for `screens`."); if (typeof t == "string") return { name: t.toString(), values: [{ min: t, max: void 0 }] }; let [r, s] = t; return r = r.toString(), typeof s == "string" ? { name: r, values: [{ min: s, max: void 0 }] } : Array.isArray(s) ? { name: r, values: s.map(n => fp(n)) } : { name: r, values: [fp(s)] } }) : Be(Object.entries(i ?? {}), !1) } function fp({ "min-width": i, min: e = i, max: t, raw: r } = {}) { return { min: e, max: t, raw: r } } var Vi = _(() => { l() }); var ve, he, xe, ke, cp, pp = _(() => { l(); it(); Ve(); Ne(); rp(); Ui(); sp(); op(); Xn(); ap(); Ft(); kr(); lp(); Ce(); Vi(); Kn(); ve = { pseudoElementVariants: ({ addVariant: i }) => { i("first-letter", "&::first-letter"), i("first-line", "&::first-line"), i("marker", ["& *::marker", "&::marker"]), i("selection", ["& *::selection", "&::selection"]), i("file", "&::file-selector-button"), i("placeholder", "&::placeholder"), i("before", ({ container: e }) => (e.walkRules(t => { let r = !1; t.walkDecls("content", () => { r = !0 }), r || t.prepend(B.decl({ prop: "content", value: "var(--tw-content)" })) }), "&::before")), i("after", ({ container: e }) => (e.walkRules(t => { let r = !1; t.walkDecls("content", () => { r = !0 }), r || t.prepend(B.decl({ prop: "content", value: "var(--tw-content)" })) }), "&::after")) }, pseudoClassVariants: ({ addVariant: i }) => { let e = [["first", ":first-child"], ["last", ":last-child"], ["only", ":only-child"], ["odd", ":nth-child(odd)"], ["even", ":nth-child(even)"], "first-of-type", "last-of-type", "only-of-type", ["visited", ({ container: t }) => { let r = ["--tw-text-opacity", "--tw-border-opacity", "--tw-bg-opacity"]; return t.walkDecls(s => { if (r.includes(s.prop)) { s.remove(); return } for (let n of r) s.value.includes(`/ var(${n})`) && (s.value = s.value.replace(`/ var(${n})`, "")) }), ":visited" }], "target", ["open", "[open]"], "default", "checked", "indeterminate", "placeholder-shown", "autofill", "required", "valid", "invalid", "in-range", "out-of-range", "read-only", "empty", "focus-within", "hover", "focus", "focus-visible", "active", "disabled"].map(t => Array.isArray(t) ? t : [t, `:${t}`]); for (let [t, r] of e) i(t, s => `&${typeof r == "function" ? r(s) : r}`); for (let [t, r] of e) i(`group-${t}`, s => `:merge(.group)${typeof r == "function" ? r(s) : r} &`); for (let [t, r] of e) i(`peer-${t}`, s => `:merge(.peer)${typeof r == "function" ? r(s) : r} ~ &`) }, directionVariants: ({ addVariant: i }) => { i("ltr", () => (W.warn("rtl-experimental", ["The RTL features in Tailwind CSS are currently in preview.", "Preview features are not covered by semver, and may be improved in breaking ways at any time."]), '[dir="ltr"] &')), i("rtl", () => (W.warn("rtl-experimental", ["The RTL features in Tailwind CSS are currently in preview.", "Preview features are not covered by semver, and may be improved in breaking ways at any time."]), '[dir="rtl"] &')) }, reducedMotionVariants: ({ addVariant: i }) => { i("motion-safe", "@media (prefers-reduced-motion: no-preference)"), i("motion-reduce", "@media (prefers-reduced-motion: reduce)") }, darkVariants: ({ config: i, addVariant: e }) => { let t = i("darkMode", "media"); t === !1 && (t = "media", W.warn("darkmode-false", ["The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.", "Change `darkMode` to `media` or remove it entirely.", "https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"])), t === "class" ? e("dark", ".dark &") : t === "media" && e("dark", "@media (prefers-color-scheme: dark)") }, printVariant: ({ addVariant: i }) => { i("print", "@media print") }, screenVariants: ({ theme: i, addVariant: e }) => { for (let t of Be(i("screens"))) { let r = Ze(t); e(t.name, `@media ${r}`) } }, orientationVariants: ({ addVariant: i }) => { i("portrait", "@media (orientation: portrait)"), i("landscape", "@media (orientation: landscape)") } }, he = ["translate(var(--tw-translate-x), var(--tw-translate-y))", "rotate(var(--tw-rotate))", "skewX(var(--tw-skew-x))", "skewY(var(--tw-skew-y))", "scaleX(var(--tw-scale-x))", "scaleY(var(--tw-scale-y))"].join(" "), xe = ["var(--tw-blur)", "var(--tw-brightness)", "var(--tw-contrast)", "var(--tw-grayscale)", "var(--tw-hue-rotate)", "var(--tw-invert)", "var(--tw-saturate)", "var(--tw-sepia)", "var(--tw-drop-shadow)"].join(" "), ke = ["var(--tw-backdrop-blur)", "var(--tw-backdrop-brightness)", "var(--tw-backdrop-contrast)", "var(--tw-backdrop-grayscale)", "var(--tw-backdrop-hue-rotate)", "var(--tw-backdrop-invert)", "var(--tw-backdrop-opacity)", "var(--tw-backdrop-saturate)", "var(--tw-backdrop-sepia)"].join(" "), cp = { preflight: ({ addBase: i }) => { let e = B.parse(`*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}`); i([B.comment({ text: `! tailwindcss v${up} | MIT License | https://tailwindcss.com` }), ...e.nodes]) }, container: (() => { function i(t = []) { return t.flatMap(r => r.values.map(s => s.min)).filter(r => r !== void 0) } function e(t, r, s) { if (typeof s == "undefined") return []; if (!(typeof s == "object" && s !== null)) return [{ screen: "DEFAULT", minWidth: 0, padding: s }]; let n = []; s.DEFAULT && n.push({ screen: "DEFAULT", minWidth: 0, padding: s.DEFAULT }); for (let o of t) for (let a of r) for (let { min: f } of a.values) f === o && n.push({ minWidth: o, padding: s[a.name] }); return n } return function ({ addComponents: t, theme: r }) { let s = Be(r("container.screens", r("screens"))), n = i(s), o = e(n, s, r("container.padding")), a = c => { let u = o.find(p => p.minWidth === c); return u ? { paddingRight: u.padding, paddingLeft: u.padding } : {} }, f = Array.from(new Set(n.slice().sort((c, u) => parseInt(c) - parseInt(u)))).map(c => ({ [`@media (min-width: ${c})`]: { ".container": { "max-width": c, ...a(c) } } })); t([{ ".container": Object.assign({ width: "100%" }, r("container.center", !1) ? { marginRight: "auto", marginLeft: "auto" } : {}, a(0)) }, ...f]) } })(), accessibility: ({ addUtilities: i }) => { i({ ".sr-only": { position: "absolute", width: "1px", height: "1px", padding: "0", margin: "-1px", overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0" }, ".not-sr-only": { position: "static", width: "auto", height: "auto", padding: "0", margin: "0", overflow: "visible", clip: "auto", whiteSpace: "normal" } }) }, pointerEvents: ({ addUtilities: i }) => { i({ ".pointer-events-none": { "pointer-events": "none" }, ".pointer-events-auto": { "pointer-events": "auto" } }) }, visibility: ({ addUtilities: i }) => { i({ ".visible": { visibility: "visible" }, ".invisible": { visibility: "hidden" } }) }, position: ({ addUtilities: i }) => { i({ ".static": { position: "static" }, ".fixed": { position: "fixed" }, ".absolute": { position: "absolute" }, ".relative": { position: "relative" }, ".sticky": { position: "sticky" } }) }, inset: E("inset", [["inset", ["top", "right", "bottom", "left"]], [["inset-x", ["left", "right"]], ["inset-y", ["top", "bottom"]]], [["top", ["top"]], ["right", ["right"]], ["bottom", ["bottom"]], ["left", ["left"]]]], { supportsNegativeValues: !0 }), isolation: ({ addUtilities: i }) => { i({ ".isolate": { isolation: "isolate" }, ".isolation-auto": { isolation: "auto" } }) }, zIndex: E("zIndex", [["z", ["zIndex"]]], { supportsNegativeValues: !0 }), order: E("order", void 0, { supportsNegativeValues: !0 }), gridColumn: E("gridColumn", [["col", ["gridColumn"]]]), gridColumnStart: E("gridColumnStart", [["col-start", ["gridColumnStart"]]]), gridColumnEnd: E("gridColumnEnd", [["col-end", ["gridColumnEnd"]]]), gridRow: E("gridRow", [["row", ["gridRow"]]]), gridRowStart: E("gridRowStart", [["row-start", ["gridRowStart"]]]), gridRowEnd: E("gridRowEnd", [["row-end", ["gridRowEnd"]]]), float: ({ addUtilities: i }) => { i({ ".float-right": { float: "right" }, ".float-left": { float: "left" }, ".float-none": { float: "none" } }) }, clear: ({ addUtilities: i }) => { i({ ".clear-left": { clear: "left" }, ".clear-right": { clear: "right" }, ".clear-both": { clear: "both" }, ".clear-none": { clear: "none" } }) }, margin: E("margin", [["m", ["margin"]], [["mx", ["margin-left", "margin-right"]], ["my", ["margin-top", "margin-bottom"]]], [["mt", ["margin-top"]], ["mr", ["margin-right"]], ["mb", ["margin-bottom"]], ["ml", ["margin-left"]]]], { supportsNegativeValues: !0 }), boxSizing: ({ addUtilities: i }) => { i({ ".box-border": { "box-sizing": "border-box" }, ".box-content": { "box-sizing": "content-box" } }) }, display: ({ addUtilities: i }) => { i({ ".block": { display: "block" }, ".inline-block": { display: "inline-block" }, ".inline": { display: "inline" }, ".flex": { display: "flex" }, ".inline-flex": { display: "inline-flex" }, ".table": { display: "table" }, ".inline-table": { display: "inline-table" }, ".table-caption": { display: "table-caption" }, ".table-cell": { display: "table-cell" }, ".table-column": { display: "table-column" }, ".table-column-group": { display: "table-column-group" }, ".table-footer-group": { display: "table-footer-group" }, ".table-header-group": { display: "table-header-group" }, ".table-row-group": { display: "table-row-group" }, ".table-row": { display: "table-row" }, ".flow-root": { display: "flow-root" }, ".grid": { display: "grid" }, ".inline-grid": { display: "inline-grid" }, ".contents": { display: "contents" }, ".list-item": { display: "list-item" }, ".hidden": { display: "none" } }) }, aspectRatio: E("aspectRatio", [["aspect", ["aspect-ratio"]]]), height: E("height", [["h", ["height"]]]), maxHeight: E("maxHeight", [["max-h", ["maxHeight"]]]), minHeight: E("minHeight", [["min-h", ["minHeight"]]]), width: E("width", [["w", ["width"]]]), minWidth: E("minWidth", [["min-w", ["minWidth"]]]), maxWidth: E("maxWidth", [["max-w", ["maxWidth"]]]), flex: E("flex"), flexShrink: E("flexShrink", [["flex-shrink", ["flex-shrink"]], ["shrink", ["flex-shrink"]]]), flexGrow: E("flexGrow", [["flex-grow", ["flex-grow"]], ["grow", ["flex-grow"]]]), flexBasis: E("flexBasis", [["basis", ["flex-basis"]]]), tableLayout: ({ addUtilities: i }) => { i({ ".table-auto": { "table-layout": "auto" }, ".table-fixed": { "table-layout": "fixed" } }) }, borderCollapse: ({ addUtilities: i }) => { i({ ".border-collapse": { "border-collapse": "collapse" }, ".border-separate": { "border-collapse": "separate" } }) }, transformOrigin: E("transformOrigin", [["origin", ["transformOrigin"]]]), translate: E("translate", [[["translate-x", [["@defaults transform", {}], "--tw-translate-x", ["transform", he]]], ["translate-y", [["@defaults transform", {}], "--tw-translate-y", ["transform", he]]]]], { supportsNegativeValues: !0 }), rotate: E("rotate", [["rotate", [["@defaults transform", {}], "--tw-rotate", ["transform", he]]]], { supportsNegativeValues: !0 }), skew: E("skew", [[["skew-x", [["@defaults transform", {}], "--tw-skew-x", ["transform", he]]], ["skew-y", [["@defaults transform", {}], "--tw-skew-y", ["transform", he]]]]], { supportsNegativeValues: !0 }), scale: E("scale", [["scale", [["@defaults transform", {}], "--tw-scale-x", "--tw-scale-y", ["transform", he]]], [["scale-x", [["@defaults transform", {}], "--tw-scale-x", ["transform", he]]], ["scale-y", [["@defaults transform", {}], "--tw-scale-y", ["transform", he]]]]], { supportsNegativeValues: !0 }), transform: ({ addDefaults: i, addUtilities: e }) => { i("transform", { "--tw-translate-x": "0", "--tw-translate-y": "0", "--tw-rotate": "0", "--tw-skew-x": "0", "--tw-skew-y": "0", "--tw-scale-x": "1", "--tw-scale-y": "1" }), e({ ".transform": { "@defaults transform": {}, transform: he }, ".transform-cpu": { transform: he }, ".transform-gpu": { transform: he.replace("translate(var(--tw-translate-x), var(--tw-translate-y))", "translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)") }, ".transform-none": { transform: "none" } }) }, animation: ({ matchUtilities: i, theme: e, prefix: t }) => { let r = n => t(`.${n}`).slice(1), s = Object.fromEntries(Object.entries(e("keyframes") ?? {}).map(([n, o]) => [n, { [`@keyframes ${r(n)}`]: o }])); i({ animate: n => { let o = ao(n); return [...o.flatMap(a => s[a.name]), { animation: o.map(({ name: a, value: f }) => a === void 0 || s[a] === void 0 ? f : f.replace(a, r(a))).join(", ") }] } }, { values: e("animation") }) }, cursor: E("cursor"), touchAction: ({ addDefaults: i, addUtilities: e }) => { i("touch-action", { "--tw-pan-x": " ", "--tw-pan-y": " ", "--tw-pinch-zoom": " " }); let t = "var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)"; e({ ".touch-auto": { "touch-action": "auto" }, ".touch-none": { "touch-action": "none" }, ".touch-pan-x": { "@defaults touch-action": {}, "--tw-pan-x": "pan-x", "touch-action": t }, ".touch-pan-left": { "@defaults touch-action": {}, "--tw-pan-x": "pan-left", "touch-action": t }, ".touch-pan-right": { "@defaults touch-action": {}, "--tw-pan-x": "pan-right", "touch-action": t }, ".touch-pan-y": { "@defaults touch-action": {}, "--tw-pan-y": "pan-y", "touch-action": t }, ".touch-pan-up": { "@defaults touch-action": {}, "--tw-pan-y": "pan-up", "touch-action": t }, ".touch-pan-down": { "@defaults touch-action": {}, "--tw-pan-y": "pan-down", "touch-action": t }, ".touch-pinch-zoom": { "@defaults touch-action": {}, "--tw-pinch-zoom": "pinch-zoom", "touch-action": t }, ".touch-manipulation": { "touch-action": "manipulation" } }) }, userSelect: ({ addUtilities: i }) => { i({ ".select-none": { "user-select": "none" }, ".select-text": { "user-select": "text" }, ".select-all": { "user-select": "all" }, ".select-auto": { "user-select": "auto" } }) }, resize: ({ addUtilities: i }) => { i({ ".resize-none": { resize: "none" }, ".resize-y": { resize: "vertical" }, ".resize-x": { resize: "horizontal" }, ".resize": { resize: "both" } }) }, scrollSnapType: ({ addDefaults: i, addUtilities: e }) => { i("scroll-snap-type", { "--tw-scroll-snap-strictness": "proximity" }), e({ ".snap-none": { "scroll-snap-type": "none" }, ".snap-x": { "@defaults scroll-snap-type": {}, "scroll-snap-type": "x var(--tw-scroll-snap-strictness)" }, ".snap-y": { "@defaults scroll-snap-type": {}, "scroll-snap-type": "y var(--tw-scroll-snap-strictness)" }, ".snap-both": { "@defaults scroll-snap-type": {}, "scroll-snap-type": "both var(--tw-scroll-snap-strictness)" }, ".snap-mandatory": { "--tw-scroll-snap-strictness": "mandatory" }, ".snap-proximity": { "--tw-scroll-snap-strictness": "proximity" } }) }, scrollSnapAlign: ({ addUtilities: i }) => { i({ ".snap-start": { "scroll-snap-align": "start" }, ".snap-end": { "scroll-snap-align": "end" }, ".snap-center": { "scroll-snap-align": "center" }, ".snap-align-none": { "scroll-snap-align": "none" } }) }, scrollSnapStop: ({ addUtilities: i }) => { i({ ".snap-normal": { "scroll-snap-stop": "normal" }, ".snap-always": { "scroll-snap-stop": "always" } }) }, scrollMargin: E("scrollMargin", [["scroll-m", ["scroll-margin"]], [["scroll-mx", ["scroll-margin-left", "scroll-margin-right"]], ["scroll-my", ["scroll-margin-top", "scroll-margin-bottom"]]], [["scroll-mt", ["scroll-margin-top"]], ["scroll-mr", ["scroll-margin-right"]], ["scroll-mb", ["scroll-margin-bottom"]], ["scroll-ml", ["scroll-margin-left"]]]], { supportsNegativeValues: !0 }), scrollPadding: E("scrollPadding", [["scroll-p", ["scroll-padding"]], [["scroll-px", ["scroll-padding-left", "scroll-padding-right"]], ["scroll-py", ["scroll-padding-top", "scroll-padding-bottom"]]], [["scroll-pt", ["scroll-padding-top"]], ["scroll-pr", ["scroll-padding-right"]], ["scroll-pb", ["scroll-padding-bottom"]], ["scroll-pl", ["scroll-padding-left"]]]]), listStylePosition: ({ addUtilities: i }) => { i({ ".list-inside": { "list-style-position": "inside" }, ".list-outside": { "list-style-position": "outside" } }) }, listStyleType: E("listStyleType", [["list", ["listStyleType"]]]), appearance: ({ addUtilities: i }) => { i({ ".appearance-none": { appearance: "none" } }) }, columns: E("columns", [["columns", ["columns"]]]), breakBefore: ({ addUtilities: i }) => { i({ ".break-before-auto": { "break-before": "auto" }, ".break-before-avoid": { "break-before": "avoid" }, ".break-before-all": { "break-before": "all" }, ".break-before-avoid-page": { "break-before": "avoid-page" }, ".break-before-page": { "break-before": "page" }, ".break-before-left": { "break-before": "left" }, ".break-before-right": { "break-before": "right" }, ".break-before-column": { "break-before": "column" } }) }, breakInside: ({ addUtilities: i }) => { i({ ".break-inside-auto": { "break-inside": "auto" }, ".break-inside-avoid": { "break-inside": "avoid" }, ".break-inside-avoid-page": { "break-inside": "avoid-page" }, ".break-inside-avoid-column": { "break-inside": "avoid-column" } }) }, breakAfter: ({ addUtilities: i }) => { i({ ".break-after-auto": { "break-after": "auto" }, ".break-after-avoid": { "break-after": "avoid" }, ".break-after-all": { "break-after": "all" }, ".break-after-avoid-page": { "break-after": "avoid-page" }, ".break-after-page": { "break-after": "page" }, ".break-after-left": { "break-after": "left" }, ".break-after-right": { "break-after": "right" }, ".break-after-column": { "break-after": "column" } }) }, gridAutoColumns: E("gridAutoColumns", [["auto-cols", ["gridAutoColumns"]]]), gridAutoFlow: ({ addUtilities: i }) => { i({ ".grid-flow-row": { gridAutoFlow: "row" }, ".grid-flow-col": { gridAutoFlow: "column" }, ".grid-flow-row-dense": { gridAutoFlow: "row dense" }, ".grid-flow-col-dense": { gridAutoFlow: "column dense" } }) }, gridAutoRows: E("gridAutoRows", [["auto-rows", ["gridAutoRows"]]]), gridTemplateColumns: E("gridTemplateColumns", [["grid-cols", ["gridTemplateColumns"]]]), gridTemplateRows: E("gridTemplateRows", [["grid-rows", ["gridTemplateRows"]]]), flexDirection: ({ addUtilities: i }) => { i({ ".flex-row": { "flex-direction": "row" }, ".flex-row-reverse": { "flex-direction": "row-reverse" }, ".flex-col": { "flex-direction": "column" }, ".flex-col-reverse": { "flex-direction": "column-reverse" } }) }, flexWrap: ({ addUtilities: i }) => { i({ ".flex-wrap": { "flex-wrap": "wrap" }, ".flex-wrap-reverse": { "flex-wrap": "wrap-reverse" }, ".flex-nowrap": { "flex-wrap": "nowrap" } }) }, placeContent: ({ addUtilities: i }) => { i({ ".place-content-center": { "place-content": "center" }, ".place-content-start": { "place-content": "start" }, ".place-content-end": { "place-content": "end" }, ".place-content-between": { "place-content": "space-between" }, ".place-content-around": { "place-content": "space-around" }, ".place-content-evenly": { "place-content": "space-evenly" }, ".place-content-stretch": { "place-content": "stretch" } }) }, placeItems: ({ addUtilities: i }) => { i({ ".place-items-start": { "place-items": "start" }, ".place-items-end": { "place-items": "end" }, ".place-items-center": { "place-items": "center" }, ".place-items-stretch": { "place-items": "stretch" } }) }, alignContent: ({ addUtilities: i }) => { i({ ".content-center": { "align-content": "center" }, ".content-start": { "align-content": "flex-start" }, ".content-end": { "align-content": "flex-end" }, ".content-between": { "align-content": "space-between" }, ".content-around": { "align-content": "space-around" }, ".content-evenly": { "align-content": "space-evenly" } }) }, alignItems: ({ addUtilities: i }) => { i({ ".items-start": { "align-items": "flex-start" }, ".items-end": { "align-items": "flex-end" }, ".items-center": { "align-items": "center" }, ".items-baseline": { "align-items": "baseline" }, ".items-stretch": { "align-items": "stretch" } }) }, justifyContent: ({ addUtilities: i }) => { i({ ".justify-start": { "justify-content": "flex-start" }, ".justify-end": { "justify-content": "flex-end" }, ".justify-center": { "justify-content": "center" }, ".justify-between": { "justify-content": "space-between" }, ".justify-around": { "justify-content": "space-around" }, ".justify-evenly": { "justify-content": "space-evenly" } }) }, justifyItems: ({ addUtilities: i }) => { i({ ".justify-items-start": { "justify-items": "start" }, ".justify-items-end": { "justify-items": "end" }, ".justify-items-center": { "justify-items": "center" }, ".justify-items-stretch": { "justify-items": "stretch" } }) }, gap: E("gap", [["gap", ["gap"]], [["gap-x", ["columnGap"]], ["gap-y", ["rowGap"]]]]), space: ({ matchUtilities: i, addUtilities: e, theme: t }) => { i({ "space-x": r => (r = r === "0" ? "0px" : r, { "& > :not([hidden]) ~ :not([hidden])": { "--tw-space-x-reverse": "0", "margin-right": `calc(${r} * var(--tw-space-x-reverse))`, "margin-left": `calc(${r} * calc(1 - var(--tw-space-x-reverse)))` } }), "space-y": r => (r = r === "0" ? "0px" : r, { "& > :not([hidden]) ~ :not([hidden])": { "--tw-space-y-reverse": "0", "margin-top": `calc(${r} * calc(1 - var(--tw-space-y-reverse)))`, "margin-bottom": `calc(${r} * var(--tw-space-y-reverse))` } }) }, { values: t("space"), supportsNegativeValues: !0 }), e({ ".space-y-reverse > :not([hidden]) ~ :not([hidden])": { "--tw-space-y-reverse": "1" }, ".space-x-reverse > :not([hidden]) ~ :not([hidden])": { "--tw-space-x-reverse": "1" } }) }, divideWidth: ({ matchUtilities: i, addUtilities: e, theme: t }) => { i({ "divide-x": r => (r = r === "0" ? "0px" : r, { "& > :not([hidden]) ~ :not([hidden])": { "@defaults border-width": {}, "--tw-divide-x-reverse": "0", "border-right-width": `calc(${r} * var(--tw-divide-x-reverse))`, "border-left-width": `calc(${r} * calc(1 - var(--tw-divide-x-reverse)))` } }), "divide-y": r => (r = r === "0" ? "0px" : r, { "& > :not([hidden]) ~ :not([hidden])": { "@defaults border-width": {}, "--tw-divide-y-reverse": "0", "border-top-width": `calc(${r} * calc(1 - var(--tw-divide-y-reverse)))`, "border-bottom-width": `calc(${r} * var(--tw-divide-y-reverse))` } }) }, { values: t("divideWidth"), type: ["line-width", "length"] }), e({ ".divide-y-reverse > :not([hidden]) ~ :not([hidden])": { "@defaults border-width": {}, "--tw-divide-y-reverse": "1" }, ".divide-x-reverse > :not([hidden]) ~ :not([hidden])": { "@defaults border-width": {}, "--tw-divide-x-reverse": "1" } }) }, divideStyle: ({ addUtilities: i }) => { i({ ".divide-solid > :not([hidden]) ~ :not([hidden])": { "border-style": "solid" }, ".divide-dashed > :not([hidden]) ~ :not([hidden])": { "border-style": "dashed" }, ".divide-dotted > :not([hidden]) ~ :not([hidden])": { "border-style": "dotted" }, ".divide-double > :not([hidden]) ~ :not([hidden])": { "border-style": "double" }, ".divide-none > :not([hidden]) ~ :not([hidden])": { "border-style": "none" } }) }, divideColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { i({ divide: r => t("divideOpacity") ? { ["& > :not([hidden]) ~ :not([hidden])"]: K({ color: r, property: "border-color", variable: "--tw-divide-opacity" }) } : { ["& > :not([hidden]) ~ :not([hidden])"]: { "border-color": $(r) } } }, { values: (({ DEFAULT: r, ...s }) => s)(H(e("divideColor"))), type: "color" }) }, divideOpacity: ({ matchUtilities: i, theme: e }) => { i({ "divide-opacity": t => ({ ["& > :not([hidden]) ~ :not([hidden])"]: { "--tw-divide-opacity": t } }) }, { values: e("divideOpacity") }) }, placeSelf: ({ addUtilities: i }) => { i({ ".place-self-auto": { "place-self": "auto" }, ".place-self-start": { "place-self": "start" }, ".place-self-end": { "place-self": "end" }, ".place-self-center": { "place-self": "center" }, ".place-self-stretch": { "place-self": "stretch" } }) }, alignSelf: ({ addUtilities: i }) => { i({ ".self-auto": { "align-self": "auto" }, ".self-start": { "align-self": "flex-start" }, ".self-end": { "align-self": "flex-end" }, ".self-center": { "align-self": "center" }, ".self-stretch": { "align-self": "stretch" }, ".self-baseline": { "align-self": "baseline" } }) }, justifySelf: ({ addUtilities: i }) => { i({ ".justify-self-auto": { "justify-self": "auto" }, ".justify-self-start": { "justify-self": "start" }, ".justify-self-end": { "justify-self": "end" }, ".justify-self-center": { "justify-self": "center" }, ".justify-self-stretch": { "justify-self": "stretch" } }) }, overflow: ({ addUtilities: i }) => { i({ ".overflow-auto": { overflow: "auto" }, ".overflow-hidden": { overflow: "hidden" }, ".overflow-clip": { overflow: "clip" }, ".overflow-visible": { overflow: "visible" }, ".overflow-scroll": { overflow: "scroll" }, ".overflow-x-auto": { "overflow-x": "auto" }, ".overflow-y-auto": { "overflow-y": "auto" }, ".overflow-x-hidden": { "overflow-x": "hidden" }, ".overflow-y-hidden": { "overflow-y": "hidden" }, ".overflow-x-clip": { "overflow-x": "clip" }, ".overflow-y-clip": { "overflow-y": "clip" }, ".overflow-x-visible": { "overflow-x": "visible" }, ".overflow-y-visible": { "overflow-y": "visible" }, ".overflow-x-scroll": { "overflow-x": "scroll" }, ".overflow-y-scroll": { "overflow-y": "scroll" } }) }, overscrollBehavior: ({ addUtilities: i }) => { i({ ".overscroll-auto": { "overscroll-behavior": "auto" }, ".overscroll-contain": { "overscroll-behavior": "contain" }, ".overscroll-none": { "overscroll-behavior": "none" }, ".overscroll-y-auto": { "overscroll-behavior-y": "auto" }, ".overscroll-y-contain": { "overscroll-behavior-y": "contain" }, ".overscroll-y-none": { "overscroll-behavior-y": "none" }, ".overscroll-x-auto": { "overscroll-behavior-x": "auto" }, ".overscroll-x-contain": { "overscroll-behavior-x": "contain" }, ".overscroll-x-none": { "overscroll-behavior-x": "none" } }) }, scrollBehavior: ({ addUtilities: i }) => { i({ ".scroll-auto": { "scroll-behavior": "auto" }, ".scroll-smooth": { "scroll-behavior": "smooth" } }) }, textOverflow: ({ addUtilities: i }) => { i({ ".truncate": { overflow: "hidden", "text-overflow": "ellipsis", "white-space": "nowrap" }, ".overflow-ellipsis": { "text-overflow": "ellipsis" }, ".text-ellipsis": { "text-overflow": "ellipsis" }, ".text-clip": { "text-overflow": "clip" } }) }, whitespace: ({ addUtilities: i }) => { i({ ".whitespace-normal": { "white-space": "normal" }, ".whitespace-nowrap": { "white-space": "nowrap" }, ".whitespace-pre": { "white-space": "pre" }, ".whitespace-pre-line": { "white-space": "pre-line" }, ".whitespace-pre-wrap": { "white-space": "pre-wrap" } }) }, wordBreak: ({ addUtilities: i }) => { i({ ".break-normal": { "overflow-wrap": "normal", "word-break": "normal" }, ".break-words": { "overflow-wrap": "break-word" }, ".break-all": { "word-break": "break-all" } }) }, borderRadius: E("borderRadius", [["rounded", ["border-radius"]], [["rounded-t", ["border-top-left-radius", "border-top-right-radius"]], ["rounded-r", ["border-top-right-radius", "border-bottom-right-radius"]], ["rounded-b", ["border-bottom-right-radius", "border-bottom-left-radius"]], ["rounded-l", ["border-top-left-radius", "border-bottom-left-radius"]]], [["rounded-tl", ["border-top-left-radius"]], ["rounded-tr", ["border-top-right-radius"]], ["rounded-br", ["border-bottom-right-radius"]], ["rounded-bl", ["border-bottom-left-radius"]]]]), borderWidth: E("borderWidth", [["border", [["@defaults border-width", {}], "border-width"]], [["border-x", [["@defaults border-width", {}], "border-left-width", "border-right-width"]], ["border-y", [["@defaults border-width", {}], "border-top-width", "border-bottom-width"]]], [["border-t", [["@defaults border-width", {}], "border-top-width"]], ["border-r", [["@defaults border-width", {}], "border-right-width"]], ["border-b", [["@defaults border-width", {}], "border-bottom-width"]], ["border-l", [["@defaults border-width", {}], "border-left-width"]]]], { type: ["line-width", "length"] }), borderStyle: ({ addUtilities: i }) => { i({ ".border-solid": { "border-style": "solid" }, ".border-dashed": { "border-style": "dashed" }, ".border-dotted": { "border-style": "dotted" }, ".border-double": { "border-style": "double" }, ".border-hidden": { "border-style": "hidden" }, ".border-none": { "border-style": "none" } }) }, borderColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { i({ border: r => t("borderOpacity") ? K({ color: r, property: "border-color", variable: "--tw-border-opacity" }) : { "border-color": $(r) } }, { values: (({ DEFAULT: r, ...s }) => s)(H(e("borderColor"))), type: ["color"] }), i({ "border-x": r => t("borderOpacity") ? K({ color: r, property: ["border-left-color", "border-right-color"], variable: "--tw-border-opacity" }) : { "border-left-color": $(r), "border-right-color": $(r) }, "border-y": r => t("borderOpacity") ? K({ color: r, property: ["border-top-color", "border-bottom-color"], variable: "--tw-border-opacity" }) : { "border-top-color": $(r), "border-bottom-color": $(r) } }, { values: (({ DEFAULT: r, ...s }) => s)(H(e("borderColor"))), type: "color" }), i({ "border-t": r => t("borderOpacity") ? K({ color: r, property: "border-top-color", variable: "--tw-border-opacity" }) : { "border-top-color": $(r) }, "border-r": r => t("borderOpacity") ? K({ color: r, property: "border-right-color", variable: "--tw-border-opacity" }) : { "border-right-color": $(r) }, "border-b": r => t("borderOpacity") ? K({ color: r, property: "border-bottom-color", variable: "--tw-border-opacity" }) : { "border-bottom-color": $(r) }, "border-l": r => t("borderOpacity") ? K({ color: r, property: "border-left-color", variable: "--tw-border-opacity" }) : { "border-left-color": $(r) } }, { values: (({ DEFAULT: r, ...s }) => s)(H(e("borderColor"))), type: "color" }) }, borderOpacity: E("borderOpacity", [["border-opacity", ["--tw-border-opacity"]]]), backgroundColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { i({ bg: r => t("backgroundOpacity") ? K({ color: r, property: "background-color", variable: "--tw-bg-opacity" }) : { "background-color": $(r) } }, { values: H(e("backgroundColor")), type: "color" }) }, backgroundOpacity: E("backgroundOpacity", [["bg-opacity", ["--tw-bg-opacity"]]]), backgroundImage: E("backgroundImage", [["bg", ["background-image"]]], { type: ["lookup", "image", "url"] }), gradientColorStops: (() => { function i(e) { return yt(e, 0, "rgb(255 255 255 / 0)") } return function ({ matchUtilities: e, theme: t }) { let r = { values: H(t("gradientColorStops")), type: ["color", "any"] }; e({ from: s => { let n = i(s); return { "--tw-gradient-from": $(s, "from"), "--tw-gradient-stops": `var(--tw-gradient-from), var(--tw-gradient-to, ${n})` } } }, r), e({ via: s => { let n = i(s); return { "--tw-gradient-stops": `var(--tw-gradient-from), ${$(s, "via")}, var(--tw-gradient-to, ${n})` } } }, r), e({ to: s => ({ "--tw-gradient-to": $(s, "to") }) }, r) } })(), boxDecorationBreak: ({ addUtilities: i }) => { i({ ".decoration-slice": { "box-decoration-break": "slice" }, ".decoration-clone": { "box-decoration-break": "clone" }, ".box-decoration-slice": { "box-decoration-break": "slice" }, ".box-decoration-clone": { "box-decoration-break": "clone" } }) }, backgroundSize: E("backgroundSize", [["bg", ["background-size"]]], { type: ["lookup", "length", "percentage"] }), backgroundAttachment: ({ addUtilities: i }) => { i({ ".bg-fixed": { "background-attachment": "fixed" }, ".bg-local": { "background-attachment": "local" }, ".bg-scroll": { "background-attachment": "scroll" } }) }, backgroundClip: ({ addUtilities: i }) => { i({ ".bg-clip-border": { "background-clip": "border-box" }, ".bg-clip-padding": { "background-clip": "padding-box" }, ".bg-clip-content": { "background-clip": "content-box" }, ".bg-clip-text": { "background-clip": "text" } }) }, backgroundPosition: E("backgroundPosition", [["bg", ["background-position"]]], { type: ["lookup", "position"] }), backgroundRepeat: ({ addUtilities: i }) => { i({ ".bg-repeat": { "background-repeat": "repeat" }, ".bg-no-repeat": { "background-repeat": "no-repeat" }, ".bg-repeat-x": { "background-repeat": "repeat-x" }, ".bg-repeat-y": { "background-repeat": "repeat-y" }, ".bg-repeat-round": { "background-repeat": "round" }, ".bg-repeat-space": { "background-repeat": "space" } }) }, backgroundOrigin: ({ addUtilities: i }) => { i({ ".bg-origin-border": { "background-origin": "border-box" }, ".bg-origin-padding": { "background-origin": "padding-box" }, ".bg-origin-content": { "background-origin": "content-box" } }) }, fill: ({ matchUtilities: i, theme: e }) => { i({ fill: t => ({ fill: $(t) }) }, { values: H(e("fill")), type: ["color", "any"] }) }, stroke: ({ matchUtilities: i, theme: e }) => { i({ stroke: t => ({ stroke: $(t) }) }, { values: H(e("stroke")), type: ["color", "url"] }) }, strokeWidth: E("strokeWidth", [["stroke", ["stroke-width"]]], { type: ["length", "number", "percentage"] }), objectFit: ({ addUtilities: i }) => { i({ ".object-contain": { "object-fit": "contain" }, ".object-cover": { "object-fit": "cover" }, ".object-fill": { "object-fit": "fill" }, ".object-none": { "object-fit": "none" }, ".object-scale-down": { "object-fit": "scale-down" } }) }, objectPosition: E("objectPosition", [["object", ["object-position"]]]), padding: E("padding", [["p", ["padding"]], [["px", ["padding-left", "padding-right"]], ["py", ["padding-top", "padding-bottom"]]], [["pt", ["padding-top"]], ["pr", ["padding-right"]], ["pb", ["padding-bottom"]], ["pl", ["padding-left"]]]]), textAlign: ({ addUtilities: i }) => { i({ ".text-left": { "text-align": "left" }, ".text-center": { "text-align": "center" }, ".text-right": { "text-align": "right" }, ".text-justify": { "text-align": "justify" } }) }, textIndent: E("textIndent", [["indent", ["text-indent"]]], { supportsNegativeValues: !0 }), verticalAlign: ({ addUtilities: i, matchUtilities: e }) => { i({ ".align-baseline": { "vertical-align": "baseline" }, ".align-top": { "vertical-align": "top" }, ".align-middle": { "vertical-align": "middle" }, ".align-bottom": { "vertical-align": "bottom" }, ".align-text-top": { "vertical-align": "text-top" }, ".align-text-bottom": { "vertical-align": "text-bottom" }, ".align-sub": { "vertical-align": "sub" }, ".align-super": { "vertical-align": "super" } }), e({ align: t => ({ "vertical-align": t }) }) }, fontFamily: E("fontFamily", [["font", ["fontFamily"]]], { type: ["lookup", "generic-name", "family-name"] }), fontSize: ({ matchUtilities: i, theme: e }) => { i({ text: t => { let [r, s] = Array.isArray(t) ? t : [t], { lineHeight: n, letterSpacing: o } = Ae(s) ? s : { lineHeight: s }; return { "font-size": r, ...n === void 0 ? {} : { "line-height": n }, ...o === void 0 ? {} : { "letter-spacing": o } } } }, { values: e("fontSize"), type: ["absolute-size", "relative-size", "length", "percentage"] }) }, fontWeight: E("fontWeight", [["font", ["fontWeight"]]], { type: ["lookup", "number"] }), textTransform: ({ addUtilities: i }) => { i({ ".uppercase": { "text-transform": "uppercase" }, ".lowercase": { "text-transform": "lowercase" }, ".capitalize": { "text-transform": "capitalize" }, ".normal-case": { "text-transform": "none" } }) }, fontStyle: ({ addUtilities: i }) => { i({ ".italic": { "font-style": "italic" }, ".not-italic": { "font-style": "normal" } }) }, fontVariantNumeric: ({ addDefaults: i, addUtilities: e }) => { let t = "var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)"; i("font-variant-numeric", { "--tw-ordinal": " ", "--tw-slashed-zero": " ", "--tw-numeric-figure": " ", "--tw-numeric-spacing": " ", "--tw-numeric-fraction": " " }), e({ ".normal-nums": { "font-variant-numeric": "normal" }, ".ordinal": { "@defaults font-variant-numeric": {}, "--tw-ordinal": "ordinal", "font-variant-numeric": t }, ".slashed-zero": { "@defaults font-variant-numeric": {}, "--tw-slashed-zero": "slashed-zero", "font-variant-numeric": t }, ".lining-nums": { "@defaults font-variant-numeric": {}, "--tw-numeric-figure": "lining-nums", "font-variant-numeric": t }, ".oldstyle-nums": { "@defaults font-variant-numeric": {}, "--tw-numeric-figure": "oldstyle-nums", "font-variant-numeric": t }, ".proportional-nums": { "@defaults font-variant-numeric": {}, "--tw-numeric-spacing": "proportional-nums", "font-variant-numeric": t }, ".tabular-nums": { "@defaults font-variant-numeric": {}, "--tw-numeric-spacing": "tabular-nums", "font-variant-numeric": t }, ".diagonal-fractions": { "@defaults font-variant-numeric": {}, "--tw-numeric-fraction": "diagonal-fractions", "font-variant-numeric": t }, ".stacked-fractions": { "@defaults font-variant-numeric": {}, "--tw-numeric-fraction": "stacked-fractions", "font-variant-numeric": t } }) }, lineHeight: E("lineHeight", [["leading", ["lineHeight"]]]), letterSpacing: E("letterSpacing", [["tracking", ["letterSpacing"]]], { supportsNegativeValues: !0 }), textColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { i({ text: r => t("textOpacity") ? K({ color: r, property: "color", variable: "--tw-text-opacity" }) : { color: $(r) } }, { values: H(e("textColor")), type: "color" }) }, textOpacity: E("textOpacity", [["text-opacity", ["--tw-text-opacity"]]]), textDecoration: ({ addUtilities: i }) => { i({ ".underline": { "text-decoration-line": "underline" }, ".overline": { "text-decoration-line": "overline" }, ".line-through": { "text-decoration-line": "line-through" }, ".no-underline": { "text-decoration-line": "none" } }) }, textDecorationColor: ({ matchUtilities: i, theme: e }) => { i({ decoration: t => ({ "text-decoration-color": $(t) }) }, { values: H(e("textDecorationColor")), type: ["color"] }) }, textDecorationStyle: ({ addUtilities: i }) => { i({ ".decoration-solid": { "text-decoration-style": "solid" }, ".decoration-double": { "text-decoration-style": "double" }, ".decoration-dotted": { "text-decoration-style": "dotted" }, ".decoration-dashed": { "text-decoration-style": "dashed" }, ".decoration-wavy": { "text-decoration-style": "wavy" } }) }, textDecorationThickness: E("textDecorationThickness", [["decoration", ["text-decoration-thickness"]]], { type: ["length", "percentage"] }), textUnderlineOffset: E("textUnderlineOffset", [["underline-offset", ["text-underline-offset"]]], { type: ["length", "percentage"] }), fontSmoothing: ({ addUtilities: i }) => { i({ ".antialiased": { "-webkit-font-smoothing": "antialiased", "-moz-osx-font-smoothing": "grayscale" }, ".subpixel-antialiased": { "-webkit-font-smoothing": "auto", "-moz-osx-font-smoothing": "auto" } }) }, placeholderColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { i({ placeholder: r => t("placeholderOpacity") ? { "&::placeholder": K({ color: r, property: "color", variable: "--tw-placeholder-opacity" }) } : { "&::placeholder": { color: $(r) } } }, { values: H(e("placeholderColor")), type: ["color", "any"] }) }, placeholderOpacity: ({ matchUtilities: i, theme: e }) => { i({ "placeholder-opacity": t => ({ ["&::placeholder"]: { "--tw-placeholder-opacity": t } }) }, { values: e("placeholderOpacity") }) }, caretColor: ({ matchUtilities: i, theme: e }) => { i({ caret: t => ({ "caret-color": $(t) }) }, { values: H(e("caretColor")), type: ["color", "any"] }) }, accentColor: ({ matchUtilities: i, theme: e }) => { i({ accent: t => ({ "accent-color": $(t) }) }, { values: H(e("accentColor")), type: ["color", "any"] }) }, opacity: E("opacity", [["opacity", ["opacity"]]]), backgroundBlendMode: ({ addUtilities: i }) => { i({ ".bg-blend-normal": { "background-blend-mode": "normal" }, ".bg-blend-multiply": { "background-blend-mode": "multiply" }, ".bg-blend-screen": { "background-blend-mode": "screen" }, ".bg-blend-overlay": { "background-blend-mode": "overlay" }, ".bg-blend-darken": { "background-blend-mode": "darken" }, ".bg-blend-lighten": { "background-blend-mode": "lighten" }, ".bg-blend-color-dodge": { "background-blend-mode": "color-dodge" }, ".bg-blend-color-burn": { "background-blend-mode": "color-burn" }, ".bg-blend-hard-light": { "background-blend-mode": "hard-light" }, ".bg-blend-soft-light": { "background-blend-mode": "soft-light" }, ".bg-blend-difference": { "background-blend-mode": "difference" }, ".bg-blend-exclusion": { "background-blend-mode": "exclusion" }, ".bg-blend-hue": { "background-blend-mode": "hue" }, ".bg-blend-saturation": { "background-blend-mode": "saturation" }, ".bg-blend-color": { "background-blend-mode": "color" }, ".bg-blend-luminosity": { "background-blend-mode": "luminosity" } }) }, mixBlendMode: ({ addUtilities: i }) => { i({ ".mix-blend-normal": { "mix-blend-mode": "normal" }, ".mix-blend-multiply": { "mix-blend-mode": "multiply" }, ".mix-blend-screen": { "mix-blend-mode": "screen" }, ".mix-blend-overlay": { "mix-blend-mode": "overlay" }, ".mix-blend-darken": { "mix-blend-mode": "darken" }, ".mix-blend-lighten": { "mix-blend-mode": "lighten" }, ".mix-blend-color-dodge": { "mix-blend-mode": "color-dodge" }, ".mix-blend-color-burn": { "mix-blend-mode": "color-burn" }, ".mix-blend-hard-light": { "mix-blend-mode": "hard-light" }, ".mix-blend-soft-light": { "mix-blend-mode": "soft-light" }, ".mix-blend-difference": { "mix-blend-mode": "difference" }, ".mix-blend-exclusion": { "mix-blend-mode": "exclusion" }, ".mix-blend-hue": { "mix-blend-mode": "hue" }, ".mix-blend-saturation": { "mix-blend-mode": "saturation" }, ".mix-blend-color": { "mix-blend-mode": "color" }, ".mix-blend-luminosity": { "mix-blend-mode": "luminosity" } }) }, boxShadow: (() => { let i = De("boxShadow"), e = ["var(--tw-ring-offset-shadow, 0 0 #0000)", "var(--tw-ring-shadow, 0 0 #0000)", "var(--tw-shadow)"].join(", "); return function ({ matchUtilities: t, addDefaults: r, theme: s }) { r(" box-shadow", { "--tw-ring-offset-shadow": "0 0 #0000", "--tw-ring-shadow": "0 0 #0000", "--tw-shadow": "0 0 #0000", "--tw-shadow-colored": "0 0 #0000" }), t({ shadow: n => { n = i(n); let o = zi(n); for (let a of o) !a.valid || (a.color = "var(--tw-shadow-color)"); return { "@defaults box-shadow": {}, "--tw-shadow": n === "none" ? "0 0 #0000" : n, "--tw-shadow-colored": n === "none" ? "0 0 #0000" : Bc(o), "box-shadow": e } } }, { values: s("boxShadow"), type: ["shadow"] }) } })(), boxShadowColor: ({ matchUtilities: i, theme: e }) => { i({ shadow: t => ({ "--tw-shadow-color": $(t), "--tw-shadow": "var(--tw-shadow-colored)" }) }, { values: H(e("boxShadowColor")), type: ["color"] }) }, outlineStyle: ({ addUtilities: i }) => { i({ ".outline-none": { outline: "2px solid transparent", "outline-offset": "2px" }, ".outline": { "outline-style": "solid" }, ".outline-dashed": { "outline-style": "dashed" }, ".outline-dotted": { "outline-style": "dotted" }, ".outline-double": { "outline-style": "double" }, ".outline-hidden": { "outline-style": "hidden" } }) }, outlineWidth: E("outlineWidth", [["outline", ["outline-width"]]], { type: ["length", "number", "percentage"] }), outlineOffset: E("outlineOffset", [["outline-offset", ["outline-offset"]]], { type: ["length", "number", "percentage"] }), outlineColor: ({ matchUtilities: i, theme: e }) => { i({ outline: t => ({ "outline-color": $(t) }) }, { values: H(e("outlineColor")), type: ["color"] }) }, ringWidth: ({ matchUtilities: i, addDefaults: e, addUtilities: t, theme: r }) => { let s = r("ringOpacity.DEFAULT", "0.5"), n = yt(r("ringColor.DEFAULT"), s, `rgb(147 197 253 / ${s})`); e("ring-width", { "--tw-ring-inset": " ", "--tw-ring-offset-width": r("ringOffsetWidth.DEFAULT", "0px"), "--tw-ring-offset-color": r("ringOffsetColor.DEFAULT", "#fff"), "--tw-ring-color": n, "--tw-ring-offset-shadow": "0 0 #0000", "--tw-ring-shadow": "0 0 #0000", "--tw-shadow": "0 0 #0000", "--tw-shadow-colored": "0 0 #0000" }), i({ ring: o => ({ "@defaults ring-width": {}, "--tw-ring-offset-shadow": "var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)", "--tw-ring-shadow": `var(--tw-ring-inset) 0 0 0 calc(${o} + var(--tw-ring-offset-width)) var(--tw-ring-color)`, "box-shadow": ["var(--tw-ring-offset-shadow)", "var(--tw-ring-shadow)", "var(--tw-shadow, 0 0 #0000)"].join(", ") }) }, { values: r("ringWidth"), type: "length" }), t({ ".ring-inset": { "@defaults ring-width": {}, "--tw-ring-inset": "inset" } }) }, ringColor: ({ matchUtilities: i, theme: e }) => { i({ ring: t => K({ color: t, property: "--tw-ring-color", variable: "--tw-ring-opacity" }) }, { values: Object.fromEntries(Object.entries(H(e("ringColor"))).filter(([t]) => t !== "DEFAULT")), type: "color" }) }, ringOpacity: E("ringOpacity", [["ring-opacity", ["--tw-ring-opacity"]]], { filterDefault: !0 }), ringOffsetWidth: E("ringOffsetWidth", [["ring-offset", ["--tw-ring-offset-width"]]], { type: "length" }), ringOffsetColor: ({ matchUtilities: i, theme: e }) => { i({ "ring-offset": t => ({ "--tw-ring-offset-color": $(t) }) }, { values: H(e("ringOffsetColor")), type: "color" }) }, blur: ({ matchUtilities: i, theme: e }) => { i({ blur: t => ({ "--tw-blur": `blur(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("blur") }) }, brightness: ({ matchUtilities: i, theme: e }) => { i({ brightness: t => ({ "--tw-brightness": `brightness(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("brightness") }) }, contrast: ({ matchUtilities: i, theme: e }) => { i({ contrast: t => ({ "--tw-contrast": `contrast(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("contrast") }) }, dropShadow: ({ matchUtilities: i, theme: e }) => { i({ "drop-shadow": t => ({ "--tw-drop-shadow": Array.isArray(t) ? t.map(r => `drop-shadow(${r})`).join(" ") : `drop-shadow(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("dropShadow") }) }, grayscale: ({ matchUtilities: i, theme: e }) => { i({ grayscale: t => ({ "--tw-grayscale": `grayscale(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("grayscale") }) }, hueRotate: ({ matchUtilities: i, theme: e }) => { i({ "hue-rotate": t => ({ "--tw-hue-rotate": `hue-rotate(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("hueRotate"), supportsNegativeValues: !0 }) }, invert: ({ matchUtilities: i, theme: e }) => { i({ invert: t => ({ "--tw-invert": `invert(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("invert") }) }, saturate: ({ matchUtilities: i, theme: e }) => { i({ saturate: t => ({ "--tw-saturate": `saturate(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("saturate") }) }, sepia: ({ matchUtilities: i, theme: e }) => { i({ sepia: t => ({ "--tw-sepia": `sepia(${t})`, "@defaults filter": {}, filter: xe }) }, { values: e("sepia") }) }, filter: ({ addDefaults: i, addUtilities: e }) => { i("filter", { "--tw-blur": " ", "--tw-brightness": " ", "--tw-contrast": " ", "--tw-grayscale": " ", "--tw-hue-rotate": " ", "--tw-invert": " ", "--tw-saturate": " ", "--tw-sepia": " ", "--tw-drop-shadow": " " }), e({ ".filter": { "@defaults filter": {}, filter: xe }, ".filter-none": { filter: "none" } }) }, backdropBlur: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-blur": t => ({ "--tw-backdrop-blur": `blur(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropBlur") }) }, backdropBrightness: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-brightness": t => ({ "--tw-backdrop-brightness": `brightness(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropBrightness") }) }, backdropContrast: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-contrast": t => ({ "--tw-backdrop-contrast": `contrast(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropContrast") }) }, backdropGrayscale: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-grayscale": t => ({ "--tw-backdrop-grayscale": `grayscale(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropGrayscale") }) }, backdropHueRotate: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-hue-rotate": t => ({ "--tw-backdrop-hue-rotate": `hue-rotate(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropHueRotate"), supportsNegativeValues: !0 }) }, backdropInvert: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-invert": t => ({ "--tw-backdrop-invert": `invert(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropInvert") }) }, backdropOpacity: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-opacity": t => ({ "--tw-backdrop-opacity": `opacity(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropOpacity") }) }, backdropSaturate: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-saturate": t => ({ "--tw-backdrop-saturate": `saturate(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropSaturate") }) }, backdropSepia: ({ matchUtilities: i, theme: e }) => { i({ "backdrop-sepia": t => ({ "--tw-backdrop-sepia": `sepia(${t})`, "@defaults backdrop-filter": {}, "backdrop-filter": ke }) }, { values: e("backdropSepia") }) }, backdropFilter: ({ addDefaults: i, addUtilities: e }) => { i("backdrop-filter", { "--tw-backdrop-blur": " ", "--tw-backdrop-brightness": " ", "--tw-backdrop-contrast": " ", "--tw-backdrop-grayscale": " ", "--tw-backdrop-hue-rotate": " ", "--tw-backdrop-invert": " ", "--tw-backdrop-opacity": " ", "--tw-backdrop-saturate": " ", "--tw-backdrop-sepia": " " }), e({ ".backdrop-filter": { "@defaults backdrop-filter": {}, "backdrop-filter": ke }, ".backdrop-filter-none": { "backdrop-filter": "none" } }) }, transitionProperty: ({ matchUtilities: i, theme: e }) => { let t = e("transitionTimingFunction.DEFAULT"), r = e("transitionDuration.DEFAULT"); i({ transition: s => ({ "transition-property": s, ...s === "none" ? {} : { "transition-timing-function": t, "transition-duration": r } }) }, { values: e("transitionProperty") }) }, transitionDelay: E("transitionDelay", [["delay", ["transitionDelay"]]]), transitionDuration: E("transitionDuration", [["duration", ["transitionDuration"]]], { filterDefault: !0 }), transitionTimingFunction: E("transitionTimingFunction", [["ease", ["transitionTimingFunction"]]], { filterDefault: !0 }), willChange: E("willChange", [["will-change", ["will-change"]]]), content: E("content", [["content", ["--tw-content", ["content", "var(--tw-content)"]]]]) } }); function wt(i) { let e = [], t = !1; for (let r = 0; r < i.length; r++) { let s = i[r]; if (s === ":" && !t && e.length === 0) return !1; if (rk.has(s) && i[r - 1] !== "\\" && (t = !t), !t && i[r - 1] !== "\\") { if (dp.has(s)) e.push(s); else if (hp.has(s)) { let n = hp.get(s); if (e.length <= 0 || e.pop() !== n) return !1 } } } return !(e.length > 0) } var dp, hp, rk, lo = _(() => { l(); dp = new Map([["{", "}"], ["[", "]"], ["(", ")"]]), hp = new Map(Array.from(dp.entries()).map(([i, e]) => [e, i])), rk = new Set(['"', "'", "`"]) }); function yp(i, ...e) { for (let t of e) { let r = bp(t, Wi); if (r !== null && bp(i, Wi, r) !== null) { let n = `${Wi}(${r})`, o = t.indexOf(n), a = t.slice(o + n.length).split(" ")[0]; i = i.replace(n, n + a); continue } i = t.replace(gp, i) } return i } function wp(i, { selector: e, candidate: t, context: r }) { let s = r?.tailwindConfig?.separator ?? ":", n = new RegExp(`\\${s}(?![^[]*\\])`), o = t.split(n).pop(); return r?.tailwindConfig?.prefix && (i = gt(r.tailwindConfig.prefix, i)), i = i.replace(gp, `.${pe(t)}`), e = (0, uo.default)(a => a.walkClasses(f => (f.raws && f.value.includes(o) && (f.raws.value = pe((0, mp.default)(f.raws.value))), f))).processSync(e), e = e.replace(`.${pe(o)}`, i), (0, uo.default)(a => a.map(f => { f.walkPseudos(p => (ik.has(p.value) && p.replaceWith(p.nodes), p)); function c(p) { let d = []; for (let g of p.nodes) fo(g) && (d.push(g), p.removeChild(g)), g?.nodes && d.push(...c(g)); return d } let u = c(f); return u.length > 0 && f.nodes.push(u.sort(ok)), f })).processSync(e) } function ok(i, e) { return i.type !== "pseudo" && e.type !== "pseudo" || i.type === "combinator" ^ e.type === "combinator" ? 0 : i.type === "pseudo" ^ e.type === "pseudo" ? (i.type === "pseudo") - (e.type === "pseudo") : fo(i) - fo(e) } function fo(i) { return i.type !== "pseudo" || nk.includes(i.value) ? !1 : i.value.startsWith("::") || sk.includes(i.value) } function bp(i, e, t) { let r = i.indexOf(t ? `${e}(${t})` : e); if (r === -1) return null; r += e.length + 1; let s = "", n = 0; for (let o of i.slice(r)) if (o !== "(" && o !== ")") s += o; else if (o === "(") s += o, n++; else if (o === ")") { if (--n < 0) break; s += o } return s } var uo, mp, Wi, gp, ik, sk, nk, vp = _(() => { l(); uo = V(be()), mp = V(Si()); _r(); Ni(); Wi = ":merge", gp = "&", ik = new Set([Wi]); sk = [":before", ":after", ":first-line", ":first-letter"], nk = ["::file-selector-button"] }); function lk(i) { return ak.transformSync(i) } function* uk(i) { let e = 1 / 0; for (; e >= 0;) { let t; if (e === 1 / 0 && i.endsWith("]")) { let n = i.indexOf("["); t = ["-", "/"].includes(i[n - 1]) ? n - 1 : -1 } else t = i.lastIndexOf("-", e); if (t < 0) break; let r = i.slice(0, t), s = i.slice(t + 1); yield [r, s], e = t - 1 } } function fk(i, e) { if (i.length === 0 || e.tailwindConfig.prefix === "") return i; for (let t of i) { let [r] = t; if (r.options.respectPrefix) { let s = B.root({ nodes: [t[1].clone()] }), n = t[1].raws.tailwind.classCandidate; s.walkRules(o => { let a = n.startsWith("-"); o.selector = gt(e.tailwindConfig.prefix, o.selector, a) }), t[1] = s.nodes[0] } } return i } function ck(i) { if (i.length === 0) return i; let e = []; for (let [t, r] of i) { let s = B.root({ nodes: [r.clone()] }); s.walkRules(n => { n.selector = Kc(n.selector, o => `!${o}`), n.walkDecls(o => o.important = !0) }), e.push([{ ...t, important: !0 }, s.nodes[0]]) } return e } function pk(i, e, t) { if (e.length === 0) return e; if (t.variantMap.has(i)) { let r = t.variantMap.get(i), s = []; for (let [n, o] of e) { if (n.layer === "user") continue; let a = B.root({ nodes: [o.clone()] }); for (let [f, c] of r) { let g = function () { d.size > 0 || u.walkRules(v => d.set(v, v.selector)) }, y = function (v) { return g(), u.each(S => { S.type === "rule" && (S.selectors = S.selectors.map(T => v({ get className() { return lk(T) }, selector: T }))) }), u }, u = a.clone(), p = [], d = new Map, x = c({ get container() { return g(), u }, separator: t.tailwindConfig.separator, modifySelectors: y, wrap(v) { let S = u.nodes; u.removeAll(), v.append(S), u.append(v) }, format(v) { p.push(v) } }); if (typeof x == "string" && p.push(x), x === null) continue; d.size > 0 && u.walkRules(v => { if (!d.has(v)) return; let S = d.get(v); if (S === v.selector) return; let T = v.selector, P = (0, co.default)(I => { I.walkClasses(G => { G.value = `${i}${t.tailwindConfig.separator}${G.value}` }) }).processSync(S); p.push(T.replace(P, "&")), v.selector = S }), u.nodes[0].raws.tailwind = { ...u.nodes[0].raws.tailwind, parentLayer: n.layer }; let b = [{ ...n, sort: f | n.sort, collectedFormats: (n.collectedFormats ?? []).concat(p) }, u.nodes[0]]; s.push(b) } } return s } return [] } function po(i, e, t = {}) { return !Ae(i) && !Array.isArray(i) ? [[i], t] : Array.isArray(i) ? po(i[0], e, i[1]) : (e.has(i) || e.set(i, mt(i)), [e.get(i), t]) } function hk(i) { return dk.test(i) } function mk(i) { if (!i.includes("://")) return !1; try { let e = new URL(i); return e.scheme !== "" && e.host !== "" } catch (e) { return !1 } } function gk(i, e) { if (mk(`${i}:${e}`)) return !1; try { return B.parse(`a{${i}:${e}}`).toResult(), !0 } catch (t) { return !1 } } function yk(i, e) { let [, t, r] = i.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/) ?? []; if (r === void 0 || !hk(t) || !wt(r)) return null; let s = de(r); return gk(t, s) ? [[{ sort: e.arbitraryPropertiesSort, layer: "utilities" }, () => ({ [Gn(i)]: { [t]: s } })]] : null } function* wk(i, e) { e.candidateRuleMap.has(i) && (yield [e.candidateRuleMap.get(i), "DEFAULT"]), yield* function* (o) { o !== null && (yield [o, "DEFAULT"]) }(yk(i, e)); let t = i, r = !1, s = e.tailwindConfig.prefix, n = s.length; t[n] === "-" && (r = !0, t = s + t.slice(n + 1)), r && e.candidateRuleMap.has(t) && (yield [e.candidateRuleMap.get(t), "-DEFAULT"]); for (let [o, a] of uk(t)) e.candidateRuleMap.has(o) && (yield [e.candidateRuleMap.get(o), r ? `-${a}` : a]) } function bk(i, e) { return i === Ee ? [Ee] : i.split(new RegExp(`\\${e}(?![^[]*\\])`, "g")) } function* vk(i, e) { for (let t of i) t[1].raws.tailwind = { ...t[1].raws.tailwind, classCandidate: e }, yield t } function* ho(i, e) {
let t = e.tailwindConfig.separator, [r, ...s] = bk(i, t).reverse(), n = !1; r.startsWith("!") && (n = !0, r = r.slice(1)); for (let o of wk(r, e)) {
let a = [], f = new Map, [c, u] = o, p = c.length === 1; for (let [d, g] of c) { let y = []; if (typeof g == "function") for (let x of [].concat(g(u, { isOnlyPlugin: p }))) { let [b, v] = po(x, e.postCssNodeCache); for (let S of b) y.push([{ ...d, options: { ...d.options, ...v } }, S]) } else if (u === "DEFAULT" || u === "-DEFAULT") { let x = g, [b, v] = po(x, e.postCssNodeCache); for (let S of b) y.push([{ ...d, options: { ...d.options, ...v } }, S]) } y.length > 0 && (f.set(y, d.options?.type), a.push(y)) } if (xk(u) && a.length > 1) {
let d = a.map(y => new Set([...f.get(y) ?? []])); for (let y of d) for (let x of y) { let b = !1; for (let v of d) y !== v && v.has(x) && (v.delete(x), b = !0); b && y.delete(x) } let g = []; for (let [y, x] of d.entries()) for (let b of x) {
let v = a[y].map(([, S]) => S).flat().map(S => S.toString().split(`
`).slice(1, -1).map(T => T.trim()).map(T => ` ${T}`).join(`
`)).join(`
`); g.push(` Use \`${i.replace("[", `[${b}:`)}\` for \`${v.trim()}\``); break
} W.warn([`The class \`${i}\` is ambiguous and matches multiple utilities.`, ...g, `If this is content and not a class, replace it with \`${i.replace("[", "[").replace("]", "]")}\` to silence this warning.`]); continue
} a = a.flat(), a = Array.from(vk(a, r)), a = fk(a, e), n && (a = ck(a, e)); for (let d of s) a = pk(d, a, e); for (let d of a) { if (d[1].raws.tailwind = { ...d[1].raws.tailwind, candidate: i }, d[0].collectedFormats) { let g = yp("&", ...d[0].collectedFormats), y = B.root({ nodes: [d[1].clone()] }); y.walkRules(x => { mo(x) || (x.selector = wp(g, { selector: x.selector, candidate: i, context: e })) }), d[1] = y.nodes[0] } yield d }
}
} function mo(i) { return i.parent && i.parent.type === "atrule" && i.parent.name === "keyframes" } function Gi(i, e) { let t = []; for (let s of i) { if (e.notClassCache.has(s)) continue; if (e.classCache.has(s)) { t.push(e.classCache.get(s)); continue } let n = Array.from(ho(s, e)); if (n.length === 0) { e.notClassCache.add(s); continue } e.classCache.set(s, n), t.push(n) } let r = (s => { if (s === !0) return n => { n.walkDecls(o => { o.parent.type === "rule" && !mo(o.parent) && (o.important = !0) }) }; if (typeof s == "string") return n => { n.selectors = n.selectors.map(o => `${s} ${o}`) } })(e.tailwindConfig.important); return t.flat(1).map(([{ sort: s, layer: n, options: o }, a]) => { if (o.respectImportant && r) { let f = B.root({ nodes: [a.clone()] }); f.walkRules(c => { mo(c) || r(c) }), a = f.nodes[0] } return [s | e.layerOrder[n], a] }) } function xk(i) { return i.startsWith("[") && i.endsWith("]") } var co, ak, dk, Yi = _(() => { l(); Ne(); co = V(be()); Wn(); Ft(); Ni(); oo(); Ce(); He(); vp(); Yn(); so(); lo(); ak = (0, co.default)(i => i.first.filter(({ type: e }) => e === "class").pop().value); dk = /^[a-z_-]/ }); function Sp(i, e) { let t = i.tailwindConfig.prefix; return typeof t == "function" ? t(e) : t + e } function _p(i) { if (i.includes("{")) { if (!kk(i)) throw new Error("Your { and } are unbalanced."); return i.split(/{(.*)}/gim).flatMap(e => _p(e)).filter(Boolean) } return [i.trim()] } function kk(i) { let e = 0; for (let t of i) if (t === "{") e++; else if (t === "}" && --e < 0) return !1; return e === 0 } function Sk(i, e, { before: t = [] } = {}) { if (t = [].concat(t), t.length <= 0) { i.push(e); return } let r = i.length - 1; for (let s of t) { let n = i.indexOf(s); n !== -1 && (r = Math.min(r, n)) } i.splice(r, 0, e) } function Cp(i) { return Array.isArray(i) ? i.flatMap(e => !Array.isArray(e) && !Ae(e) ? e : mt(e)) : Cp([i]) } function Ap(i) { return (0, kp.default)(t => { let r = []; return t.walkClasses(s => { r.push(s.value) }), r }).transformSync(i) } function _k(i, e = { containsNonOnDemandable: !1 }, t = 0) { let r = []; if (i.type === "rule") for (let s of i.selectors) { let n = Ap(s); n.length === 0 && (e.containsNonOnDemandable = !0); for (let o of n) r.push(o) } else i.type === "atrule" && i.walkRules(s => { for (let n of s.selectors.flatMap(o => Ap(o, e, t + 1))) r.push(n) }); return t === 0 ? [e.containsNonOnDemandable || r.length === 0, r] : r } function Or(i) { return Cp(i).flatMap(e => { let t = new Map, [r, s] = _k(e); return r && s.unshift(Ee), s.map(n => (t.has(e) || t.set(e, e), [n, t.get(e)])) }) } function Ck(i, e, { variantList: t, variantMap: r, offsets: s, classList: n }) { function o(c, u) { return c ? (0, xp.default)(i, c, u) : i } function a(c) { return gt(i.prefix, c) } function f(c, u) { return c === Ee ? Ee : u.respectPrefix ? e.tailwindConfig.prefix + c : c } return { addVariant(c, u, p = {}) { u = [].concat(u).map(d => { if (typeof d != "string") return ({ modifySelectors: y, container: x, separator: b }) => d({ modifySelectors: y, container: x, separator: b }); d = d.replace(/\n+/g, "").replace(/\s{1,}/g, " ").trim(); let g = _p(d).map(y => { if (!y.startsWith("@")) return ({ format: v }) => v(y); let [, x, b] = /@(.*?) (.*)/g.exec(y); return ({ wrap: v }) => v(B.atRule({ name: x, params: b })) }).reverse(); return y => { for (let x of g) x(y) } }), Sk(t, c, p), r.set(c, u) }, postcss: B, prefix: a, e: pe, config: o, theme(c, u) { let [p, ...d] = Ye(c), g = o(["theme", p, ...d], u); return De(p)(g) }, corePlugins: c => Array.isArray(i.corePlugins) ? i.corePlugins.includes(c) : o(["corePlugins", c], !0), variants: () => [], addUserCss(c) { for (let [u, p] of Or(c)) { let d = s.user++; e.candidateRuleMap.has(u) || e.candidateRuleMap.set(u, []), e.candidateRuleMap.get(u).push([{ sort: d, layer: "user" }, p]) } }, addBase(c) { for (let [u, p] of Or(c)) { let d = f(u, {}), g = s.base++; e.candidateRuleMap.has(d) || e.candidateRuleMap.set(d, []), e.candidateRuleMap.get(d).push([{ sort: g, layer: "base" }, p]) } }, addDefaults(c, u) { let p = { [`@defaults ${c}`]: u }; for (let [d, g] of Or(p)) { let y = f(d, {}); e.candidateRuleMap.has(y) || e.candidateRuleMap.set(y, []), e.candidateRuleMap.get(y).push([{ sort: s.base++, layer: "defaults" }, g]) } }, addComponents(c, u) { u = Object.assign({}, { respectPrefix: !0, respectImportant: !1 }, Array.isArray(u) ? {} : u); for (let [d, g] of Or(c)) { let y = f(d, u); n.add(y), e.candidateRuleMap.has(y) || e.candidateRuleMap.set(y, []), e.candidateRuleMap.get(y).push([{ sort: s.components++, layer: "components", options: u }, g]) } }, addUtilities(c, u) { u = Object.assign({}, { respectPrefix: !0, respectImportant: !0 }, Array.isArray(u) ? {} : u); for (let [d, g] of Or(c)) { let y = f(d, u); n.add(y), e.candidateRuleMap.has(y) || e.candidateRuleMap.set(y, []), e.candidateRuleMap.get(y).push([{ sort: s.utilities++, layer: "utilities", options: u }, g]) } }, matchUtilities: function (c, u) { u = { ...{ respectPrefix: !0, respectImportant: !0 }, ...u }; let d = s.utilities++; for (let g in c) { let b = function (S, { isOnlyPlugin: T }) { let { type: P = "any" } = u; P = [].concat(P); let [I, G] = no(P, S, u, i); return I === void 0 ? [] : !P.includes(G) && !T ? [] : wt(I) ? [].concat(x(I)).filter(Boolean).map(Y => ({ [Bi(g, S)]: Y })) : [] }, y = f(g, u), x = c[g]; n.add([y, u]); let v = [{ sort: d, layer: "utilities", options: u }, b]; e.candidateRuleMap.has(y) || e.candidateRuleMap.set(y, []), e.candidateRuleMap.get(y).push(v) } }, matchComponents: function (c, u) { u = { ...{ respectPrefix: !0, respectImportant: !1 }, ...u }; let d = s.components++; for (let g in c) { let b = function (S, { isOnlyPlugin: T }) { let { type: P = "any" } = u; P = [].concat(P); let [I, G] = no(P, S, u, i); if (I === void 0) return []; if (!P.includes(G)) if (T) W.warn([`Unnecessary typehint \`${G}\` in \`${g}-${S}\`.`, `You can safely update it to \`${g}-${S.replace(G + ":", "")}\`.`]); else return []; return wt(I) ? [].concat(x(I)).filter(Boolean).map(Y => ({ [Bi(g, S)]: Y })) : [] }, y = f(g, u), x = c[g]; n.add([y, u]); let v = [{ sort: d, layer: "components", options: u }, b]; e.candidateRuleMap.has(y) || e.candidateRuleMap.set(y, []), e.candidateRuleMap.get(y).push(v) } } } } function Hi(i) { return go.has(i) || go.set(i, new Map), go.get(i) } function Ep(i, e) { let t = !1; for (let r of i) { if (!r) continue; let s = bs.parse(r), n = s.hash ? s.href.replace(s.hash, "") : s.href; n = s.search ? n.replace(s.search, "") : n; let o = ge.statSync(decodeURIComponent(n), { throwIfNoEntry: !1 })?.mtimeMs; !o || ((!e.has(r) || o > e.get(r)) && (t = !0), e.set(r, o)) } return t } function Op(i) { i.walkAtRules(e => { ["responsive", "variants"].includes(e.name) && (Op(e), e.before(e.nodes), e.remove()) }) } function Ak(i) { let e = []; return i.each(t => { t.type === "atrule" && ["responsive", "variants"].includes(t.name) && (t.name = "layer", t.params = "utilities") }), i.walkAtRules("layer", t => { if (Op(t), t.params === "base") { for (let r of t.nodes) e.push(function ({ addBase: s }) { s(r, { respectPrefix: !1 }) }); t.remove() } else if (t.params === "components") { for (let r of t.nodes) e.push(function ({ addComponents: s }) { s(r, { respectPrefix: !1 }) }); t.remove() } else if (t.params === "utilities") { for (let r of t.nodes) e.push(function ({ addUtilities: s }) { s(r, { respectPrefix: !1 }) }); t.remove() } }), i.walkRules(t => { e.push(function ({ addUserCss: r }) { r(t, { respectPrefix: !1 }) }) }), e } function Ek(i, e) { let t = Object.entries({ ...ve, ...cp }).map(([a, f]) => i.tailwindConfig.corePlugins.includes(a) ? f : null).filter(Boolean), r = i.tailwindConfig.plugins.map(a => (a.__isOptionsFunction && (a = a()), typeof a == "function" ? a : a.handler)), s = Ak(e), n = [ve.pseudoElementVariants, ve.pseudoClassVariants], o = [ve.directionVariants, ve.reducedMotionVariants, ve.darkVariants, ve.printVariant, ve.screenVariants, ve.orientationVariants]; return [...t, ...n, ...r, ...o, ...s] } function Ok(i, e) { let t = [], r = new Map, s = { defaults: 0n, base: 0n, components: 0n, utilities: 0n, user: 0n }, n = new Set, o = Ck(e.tailwindConfig, e, { variantList: t, variantMap: r, offsets: s, classList: n }); for (let d of i) if (Array.isArray(d)) for (let g of d) g(o); else d?.(o); let a = (d => d.reduce((g, y) => y > g ? y : g))([s.base, s.defaults, s.components, s.utilities, s.user]), f = BigInt(a.toString(2).length); e.arbitraryPropertiesSort = (1n << f << 0n) - 1n, e.layerOrder = { defaults: 1n << f << 0n, base: 1n << f << 1n, components: 1n << f << 2n, utilities: 1n << f << 3n, user: 1n << f << 4n }, f += 5n; let c = 0; e.variantOrder = new Map(t.map((d, g) => { let y = r.get(d).length, x = 1n << BigInt(g + c) << f; return c += y - 1, [d, x] }).sort(([, d], [, g]) => Ke(d - g))), e.minimumScreen = [...e.variantOrder.values()].shift(); for (let [d, g] of r.entries()) { let y = e.variantOrder.get(d); e.variantMap.set(d, g.map((x, b) => [y << BigInt(b), x])) } let u = (e.tailwindConfig.safelist ?? []).filter(Boolean); if (u.length > 0) { let d = []; for (let g of u) { if (typeof g == "string") { e.changedContent.push({ content: g, extension: "html" }); continue } if (g instanceof RegExp) { W.warn("root-regex", ["Regular expressions in `safelist` work differently in Tailwind CSS v3.0.", "Update your `safelist` configuration to eliminate this warning.", "https://tailwindcss.com/docs/content-configuration#safelisting-classes"]); continue } d.push(g) } if (d.length > 0) { let g = new Map, y = e.tailwindConfig.prefix.length; for (let x of n) { let b = Array.isArray(x) ? (() => { let [v, S] = x, P = Object.keys(S?.values ?? {}).map(I => Cr(v, I)); return S?.supportsNegativeValues && (P = [...P, ...P.map(I => "-" + I)], P = [...P, ...P.map(I => I.slice(0, y) + "-" + I.slice(y))]), P })() : [x]; for (let v of b) for (let { pattern: S, variants: T = [] } of d) if (S.lastIndex = 0, g.has(S) || g.set(S, 0), !!S.test(v)) { g.set(S, g.get(S) + 1), e.changedContent.push({ content: v, extension: "html" }); for (let P of T) e.changedContent.push({ content: P + e.tailwindConfig.separator + v, extension: "html" }) } } for (let [x, b] of g.entries()) b === 0 && W.warn([`The safelist pattern \`${x}\` doesn't match any Tailwind CSS classes.`, "Fix this pattern or remove it from your `safelist` configuration.", "https://tailwindcss.com/docs/content-configuration#safelisting-classes"]) } } let p = new Set([Sp(e, "group"), Sp(e, "peer")]); e.getClassOrder = function (g) { let y = new Map; for (let [x, b] of Gi(new Set(g), e)) y.has(b.raws.tailwind.candidate) || y.set(b.raws.tailwind.candidate, x); return g.map(x => { let b = y.get(x) ?? null; return b === null && p.has(x) && (b = e.layerOrder.components), [x, b] }) }, e.getClassList = function () { let g = []; for (let y of n) if (Array.isArray(y)) { let [x, b] = y, v = []; for (let [S, T] of Object.entries(b?.values ?? {})) g.push(Cr(x, S)), b?.supportsNegativeValues && We(T) && v.push(Cr(x, `-${S}`)); g.push(...v) } else g.push(y); return g } } function yo(i, e = [], t = B.root()) { let r = { disposables: [], ruleCache: new Set, classCache: new Map, applyClassCache: new Map, notClassCache: new Set, postCssNodeCache: new Map, candidateRuleMap: new Map, tailwindConfig: i, changedContent: e, variantMap: new Map, stylesheetCache: null }, s = Ek(r, t); return Ok(s, r), r } function Tp(i, e, t, r, s, n) { let o = e.opts.from, a = r !== null; ue.DEBUG && console.log("Source path:", o); let f; if (a && bt.has(o)) f = bt.get(o); else if (Tr.has(s)) { let u = Tr.get(s); Fe.get(u).add(o), bt.set(o, u), f = u } if (f && !Ep([...n], Hi(f))) return [f, !1]; if (bt.has(o)) { let u = bt.get(o); if (Fe.has(u) && (Fe.get(u).delete(o), Fe.get(u).size === 0)) { Fe.delete(u); for (let [p, d] of Tr) d === u && Tr.delete(p); for (let p of u.disposables.splice(0)) p(u) } } ue.DEBUG && console.log("Setting up new context..."); let c = yo(t, [], i); return Ep([...n], Hi(c)), Tr.set(s, c), bt.set(o, c), Fe.has(c) || Fe.set(c, new Set), Fe.get(c).add(o), [c, !0] } var xp, kp, go, bt, Tr, Fe, wo = _(() => { l(); it(); vs(); Ne(); xp = V(js()), kp = V(be()); kr(); Wn(); Ni(); Ft(); _r(); Yn(); oo(); ji(); pp(); He(); He(); jr(); Ce(); zr(); lo(); Yi(); go = new WeakMap; bt = Il, Tr = Rl, Fe = Jr }); var Pp, Dp = _(() => { l(); Pp = () => !1 }); var qp, Ip = _(() => { l(); qp = () => "" }); function Tk(i) { let e = i, t = qp(i); return t !== "." && (e = i.substr(t.length), e.charAt(0) === "/" && (e = e.substr(1))), e.substr(0, 2) === "./" && (e = e.substr(2)), e.charAt(0) === "/" && (e = e.substr(1)), { base: t, glob: e } } function bo(i) { if (i.startsWith("!")) return null; let e; if (Pp(i)) { let { base: t, glob: r } = Tk(i); e = { type: "dir-dependency", dir: ee.resolve(t), glob: r } } else e = { type: "dependency", file: ee.resolve(i) }; return e.type === "dir-dependency" && h.env.ROLLUP_WATCH === "true" && (e = { type: "dependency", file: e.dir }), e } var Rp = _(() => { l(); Dp(); Ip(); Ve() }); function Pk(i, e) { if (vo.has(i)) return vo.get(i); let t = e.content.files.filter(r => typeof r == "string").map(r => sl(r)); return vo.set(i, t).get(i) } function Dk(i) { let e = ws(i); if (e !== null) { let [r, s, n, o] = Np.get(e) || [], a = us(e).map(d => d.file), f = !1, c = new Map; for (let d of a) { let g = ge.statSync(d).mtimeMs; c.set(d, g), (!o || !o.has(d) || g > o.get(d)) && (f = !0) } if (!f) return [r, e, s, n]; for (let d of a) delete os.cache[d]; let u = jt(os(e)), p = Br(u); return Np.set(e, [u, p, a, c]), [u, e, p, a] } let t = jt(i.config === void 0 ? i : i.config); return [t, null, Br(t), []] } function qk(i, e, t) { let r = i.tailwindConfig.content.files.filter(s => typeof s.raw == "string").map(({ raw: s, extension: n = "html" }) => ({ content: s, extension: n })); for (let s of Ik(e, t)) { let n = ge.readFileSync(s, "utf8"), o = ee.extname(s).slice(1); r.push({ content: n, extension: o }) } return r } function Ik(i, e) { let t = new Set; ue.DEBUG && console.time("Finding changed files"); let r = el.sync(i); for (let s of r) { let n = e.has(s) ? e.get(s) : -1 / 0, o = ge.statSync(s).mtimeMs; o > n && (t.add(s), e.set(s, o)) } return ue.DEBUG && console.timeEnd("Finding changed files"), t } function xo(i) { return ({ tailwindDirectives: e, registerDependency: t, applyDirectives: r }) => (s, n) => { let [o, a, f, c] = Dk(i), u = new Set(c); if (e.size > 0 || r.size > 0) { u.add(n.opts.from); for (let g of n.messages) g.type === "dependency" && u.add(g.file) } let [p] = Tp(s, n, o, a, f, u), d = Pk(p, o); if (e.size > 0 || r.size > 0) { let g = Hi(p); for (let y of d) { let x = bo(y); x && t(x) } for (let y of qk(p, d, g)) p.changedContent.push(y) } for (let g of c) t({ type: "dependency", file: g }); return p } } var Mp, Np, vo, Lp = _(() => { l(); it(); Ve(); tl(); Mp = V(as()); nl(); ll(); fl(); ys(); ql(); He(); wo(); Rp(); Np = new Mp.default({ maxSize: 100 }), vo = new WeakMap }); function ko(i) { let e = new Set, t = new Set, r = new Set; if (i.walkAtRules(s => { s.name === "apply" && r.add(s), s.name === "import" && (s.params === '"tailwindcss/base"' || s.params === "'tailwindcss/base'" ? (s.name = "tailwind", s.params = "base") : s.params === '"tailwindcss/components"' || s.params === "'tailwindcss/components'" ? (s.name = "tailwind", s.params = "components") : s.params === '"tailwindcss/utilities"' || s.params === "'tailwindcss/utilities'" ? (s.name = "tailwind", s.params = "utilities") : (s.params === '"tailwindcss/screens"' || s.params === "'tailwindcss/screens'" || s.params === '"tailwindcss/variants"' || s.params === "'tailwindcss/variants'") && (s.name = "tailwind", s.params = "variants")), s.name === "tailwind" && (s.params === "screens" && (s.params = "variants"), e.add(s.params)), ["layer", "responsive", "variants"].includes(s.name) && (["responsive", "variants"].includes(s.name) && W.warn(`${s.name}-at-rule-deprecated`, [`The \`@${s.name}\` directive has been deprecated in Tailwind CSS v3.0.`, "Use `@layer utilities` or `@layer components` instead.", "https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"]), t.add(s)) }), !e.has("base") || !e.has("components") || !e.has("utilities")) { for (let s of t) if (s.name === "layer" && ["base", "components", "utilities"].includes(s.params)) { if (!e.has(s.params)) throw s.error(`\`@layer ${s.params}\` is used but no matching \`@tailwind ${s.params}\` directive is present.`) } else if (s.name === "responsive") { if (!e.has("utilities")) throw s.error("`@responsive` is used but `@tailwind utilities` is missing.") } else if (s.name === "variants" && !e.has("utilities")) throw s.error("`@variants` is used but `@tailwind utilities` is missing.") } return { tailwindDirectives: e, applyDirectives: r } } var Bp = _(() => { l(); Ce() }); function et(i, e) { return i.map(t => { let r = t.clone(); return e !== void 0 && (r.source = e), r }) } var Fp = _(() => { l() }); function zp(i) { let e = i.matchAll(Mk), t = i.match(Nk) || []; return [...e, ...t].flat().filter(s => s !== void 0) } var Rk, Mk, Nk, $p = _(() => { l(); Rk = [/(?:\['([^'\s]+[^<>"'`\s:\\])')/.source, /(?:\["([^"\s]+[^<>"'`\s:\\])")/.source, /(?:\[`([^`\s]+[^<>"'`\s:\\])`)/.source, /([^<>"'`\s]*\[\w*'[^"`\s]*'?\])/.source, /([^<>"'`\s]*\[\w*"[^'`\s]*"?\])/.source, /([^<>"'`\s]*\[\w*\('[^"'`\s]*'\)\])/.source, /([^<>"'`\s]*\[\w*\("[^"'`\s]*"\)\])/.source, /([^<>"'`\s]*\[\w*\('[^"`\s]*'\)\])/.source, /([^<>"'`\s]*\[\w*\("[^'`\s]*"\)\])/.source, /([^<>"'`\s]*\[[^<>"'`\s]*\('[^"`\s]*'\)+\])/.source, /([^<>"'`\s]*\[[^<>"'`\s]*\("[^'`\s]*"\)+\])/.source, /([^<>"'`\s]*\['[^"'`\s]*'\])/.source, /([^<>"'`\s]*\["[^"'`\s]*"\])/.source, /([^<>"'`\s]*\[[^<>"'`\s]*:[^\]\s]*\])/.source, /([^<>"'`\s]*\[[^<>"'`\s]*:'[^"'`\s]*'\])/.source, /([^<>"'`\s]*\[[^<>"'`\s]*:"[^"'`\s]*"\])/.source, /([^<>"'`\s]*\[[^"'`\s]+\][^<>"'`\s]*)/.source, /([^"'`\s]*[^<>"'`\s:\\])/.source, /([^<>"'`\s]*[^"'`\s:\\])/.source].join("|"), Mk = new RegExp(Rk, "g"), Nk = /[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g }); function Lk(i, e) { let t = i.content.extract; return t[e] || t.DEFAULT || Up[e] || Up.DEFAULT } function Bk(i, e) { let t = i.content.transform; return t[e] || t.DEFAULT || Vp[e] || Vp.DEFAULT } function Fk(i, e, t, r) {
Pr.has(e) || Pr.set(e, new jp.default({ maxSize: 25e3 })); for (let s of i.split(`
`)) if (s = s.trim(), !r.has(s)) if (r.add(s), Pr.get(e).has(s)) for (let n of Pr.get(e).get(s)) t.add(n); else { let n = e(s).filter(a => a !== "!*"), o = new Set(n); for (let a of o) t.add(a); Pr.get(e).set(s, o) }
} function zk(i, e) { let t = i.sort(([s], [n]) => Ke(s - n)), r = { base: new Set, defaults: new Set, components: new Set, utilities: new Set, variants: new Set, user: new Set }; for (let [s, n] of t) { if (s >= e.minimumScreen) { r.variants.add(n); continue } if (s & e.layerOrder.base) { r.base.add(n); continue } if (s & e.layerOrder.defaults) { r.defaults.add(n); continue } if (s & e.layerOrder.components) { r.components.add(n); continue } if (s & e.layerOrder.utilities) { r.utilities.add(n); continue } if (s & e.layerOrder.user) { r.user.add(n); continue } } return r } function So(i) { return e => { let t = { base: null, components: null, utilities: null, variants: null }; if (e.walkAtRules(y => { y.name === "tailwind" && Object.keys(t).includes(y.params) && (t[y.params] = y) }), Object.values(t).every(y => y === null)) return e; let r = new Set([Ee]), s = new Set; tt.DEBUG && console.time("Reading changed files"); for (let { content: y, extension: x } of i.changedContent) { let b = Bk(i.tailwindConfig, x), v = Lk(i.tailwindConfig, x); Fk(b(y), v, r, s) } tt.DEBUG && console.timeEnd("Reading changed files"); let n = i.classCache.size; tt.DEBUG && console.time("Generate rules"); let o = Gi(r, i); if (tt.DEBUG && console.timeEnd("Generate rules"), tt.DEBUG && console.time("Build stylesheet"), i.stylesheetCache === null || i.classCache.size !== n) { for (let y of o) i.ruleCache.add(y); i.stylesheetCache = zk([...i.ruleCache], i) } tt.DEBUG && console.timeEnd("Build stylesheet"); let { defaults: a, base: f, components: c, utilities: u, variants: p } = i.stylesheetCache; t.base && (t.base.before(et([...f, ...a], t.base.source)), t.base.remove()), t.components && (t.components.before(et([...c], t.components.source)), t.components.remove()), t.utilities && (t.utilities.before(et([...u], t.utilities.source)), t.utilities.remove()); let d = Array.from(p).filter(y => { let x = y.raws.tailwind?.parentLayer; return x === "components" ? t.components !== null : x === "utilities" ? t.utilities !== null : !0 }); t.variants ? (t.variants.before(et(d, t.variants.source)), t.variants.remove()) : d.length > 0 && e.append(et(d, e.source)); let g = d.some(y => y.raws.tailwind?.parentLayer === "utilities"); t.utilities && u.size === 0 && !g && W.warn("content-problems", ["No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.", "https://tailwindcss.com/docs/content-configuration"]), tt.DEBUG && (console.log("Potential classes: ", r.size), console.log("Active contexts: ", Jr.size)), i.changedContent = [], e.walkAtRules("layer", y => { Object.keys(t).includes(y.params) && y.remove() }) } } var jp, tt, Up, Vp, Pr, Wp = _(() => { l(); jp = V(as()); He(); Yi(); ji(); Ce(); Fp(); $p(); tt = ue, Up = { DEFAULT: zp }, Vp = { DEFAULT: i => i, svelte: i => i.replace(/(?:^|\s)class:/g, " ") }; Pr = new WeakMap }); function _o(i) { let e = new Set; return B.root({ nodes: [i.clone()] }).walkRules(r => { (0, Gp.default)(s => { s.walkClasses(n => { e.add(n.value) }) }).processSync(r.selector) }), Array.from(e) } function $k(i, e) { let t = new Set; for (let r of i) t.add(r.split(e).pop()); return Array.from(t) } function Yp(i, e) { let t = i.tailwindConfig.prefix; return typeof t == "function" ? t(e) : t + e } function jk(i, e) { for (let t of i) { if (e.notClassCache.has(t) || e.applyClassCache.has(t)) continue; if (e.classCache.has(t)) { e.applyClassCache.set(t, e.classCache.get(t).map(([s, n]) => [s, n.clone()])); continue } let r = Array.from(ho(t, e)); if (r.length === 0) { e.notClassCache.add(t); continue } e.applyClassCache.set(t, r) } return e.applyClassCache } function Hp(i) { let e = i.split(/[\s\t\n]+/g); return e[e.length - 1] === "!important" ? [e.slice(0, -1), !0] : [e, !1] } function Qp(i, e) { let t = new Set, r = []; if (i.walkAtRules("apply", s => { let [n] = Hp(s.params); for (let o of n) t.add(o); r.push(s) }), r.length > 0) { let n = function (a, f, c) { let u = `.${pe(c)}`, p = f.split(/\s*\,(?![^(]*\))\s*/g); return a.split(/\s*\,(?![^(]*\))\s*/g).map(d => { let g = []; for (let y of p) { let x = y.replace(u, d); x !== y && g.push(x) } return g.join(", ") }).join(", ") }, s = jk(t, e), o = new Map; for (let a of r) { let f = o.get(a.parent) || []; o.set(a.parent, f); let [c, u] = Hp(a.params); if (a.parent.type === "atrule") { if (a.parent.name === "screen") { let p = a.parent.params; throw a.error(`@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${c.map(d => `${p}:${d}`).join(" ")} instead.`) } throw a.error(`@apply is not supported within nested at-rules like @${a.parent.name}. You can fix this by un-nesting @${a.parent.name}.`) } for (let p of c) { if ([Yp(e, "group"), Yp(e, "peer")].includes(p)) throw a.error(`@apply should not be used with the '${p}' utility`); if (!s.has(p)) throw a.error(`The \`${p}\` class does not exist. If \`${p}\` is a custom class, make sure it is defined within a \`@layer\` directive.`); let d = s.get(p); f.push([p, u, d]) } } for (let [a, f] of o) { let c = []; for (let [p, d, g] of f) for (let [y, x] of g) { let b = _o(a), v = _o(x); if (v = v.concat($k(v, e.tailwindConfig.separator)), b.some(I => v.includes(I))) throw x.error(`You cannot \`@apply\` the \`${p}\` utility here because it creates a circular dependency.`); let T = B.root({ nodes: [x.clone()] }); (x.type !== "atrule" || x.type === "atrule" && x.name !== "keyframes") && T.walkRules(I => { if (!_o(I).some(G => G === p)) { I.remove(); return } I.selector = n(a.selector, I.selector, p), I.walkDecls(G => { G.important = y.important || d }) }), c.push([{ ...y, sort: y.sort | e.layerOrder[y.layer] }, T.nodes[0]]) } let u = c.sort(([p], [d]) => Ke(p.sort - d.sort)).map(p => p[1]); a.after(u) } for (let a of r) a.parent.nodes.length > 1 ? a.remove() : a.parent.remove(); Qp(i, e) } } function Co(i) { return e => { Qp(e, i) } } var Gp, Jp = _(() => { l(); Ne(); Gp = V(be()); Yi(); ji(); _r() }); var Xp = w((F4, Qi) => { l(); (function () { "use strict"; function i(r, s, n) { if (!r) return null; i.caseSensitive || (r = r.toLowerCase()); var o = i.threshold === null ? null : i.threshold * r.length, a = i.thresholdAbsolute, f; o !== null && a !== null ? f = Math.min(o, a) : o !== null ? f = o : a !== null ? f = a : f = null; var c, u, p, d, g, y = s.length; for (g = 0; g < y; g++)if (u = s[g], n && (u = u[n]), !!u && (i.caseSensitive ? p = u : p = u.toLowerCase(), d = t(r, p, f), (f === null || d < f) && (f = d, n && i.returnWinningObject ? c = s[g] : c = u, i.returnFirstMatch))) return c; return c || i.nullResultValue } i.threshold = .4, i.thresholdAbsolute = 20, i.caseSensitive = !1, i.nullResultValue = null, i.returnWinningObject = null, i.returnFirstMatch = !1, typeof Qi != "undefined" && Qi.exports ? Qi.exports = i : window.didYouMean = i; var e = Math.pow(2, 32) - 1; function t(r, s, n) { n = n || n === 0 ? n : e; var o = r.length, a = s.length; if (o === 0) return Math.min(n + 1, a); if (a === 0) return Math.min(n + 1, o); if (Math.abs(o - a) > n) return n + 1; var f = [], c, u, p, d, g; for (c = 0; c <= a; c++)f[c] = [c]; for (u = 0; u <= o; u++)f[0][u] = u; for (c = 1; c <= a; c++) { for (p = e, d = 1, c > n && (d = c - n), g = a + 1, g > n + c && (g = n + c), u = 1; u <= o; u++)u < d || u > g ? f[c][u] = n + 1 : s.charAt(c - 1) === r.charAt(u - 1) ? f[c][u] = f[c - 1][u - 1] : f[c][u] = Math.min(f[c - 1][u - 1] + 1, Math.min(f[c][u - 1] + 1, f[c - 1][u] + 1)), f[c][u] < p && (p = f[c][u]); if (p > n) return n + 1 } return f[a][o] } })() }); var Zp = w((z4, Kp) => { l(); var Ao = "(".charCodeAt(0), Eo = ")".charCodeAt(0), Ji = "'".charCodeAt(0), Oo = '"'.charCodeAt(0), To = "\\".charCodeAt(0), vt = "/".charCodeAt(0), Po = ",".charCodeAt(0), Do = ":".charCodeAt(0), Xi = "*".charCodeAt(0), Uk = "u".charCodeAt(0), Vk = "U".charCodeAt(0), Wk = "+".charCodeAt(0), Gk = /^[a-f0-9?-]+$/i; Kp.exports = function (i) { for (var e = [], t = i, r, s, n, o, a, f, c, u, p = 0, d = t.charCodeAt(p), g = t.length, y = [{ nodes: e }], x = 0, b, v = "", S = "", T = ""; p < g;)if (d <= 32) { r = p; do r += 1, d = t.charCodeAt(r); while (d <= 32); o = t.slice(p, r), n = e[e.length - 1], d === Eo && x ? T = o : n && n.type === "div" ? (n.after = o, n.sourceEndIndex += o.length) : d === Po || d === Do || d === vt && t.charCodeAt(r + 1) !== Xi && (!b || b && b.type === "function" && b.value !== "calc") ? S = o : e.push({ type: "space", sourceIndex: p, sourceEndIndex: r, value: o }), p = r } else if (d === Ji || d === Oo) { r = p, s = d === Ji ? "'" : '"', o = { type: "string", sourceIndex: p, quote: s }; do if (a = !1, r = t.indexOf(s, r + 1), ~r) for (f = r; t.charCodeAt(f - 1) === To;)f -= 1, a = !a; else t += s, r = t.length - 1, o.unclosed = !0; while (a); o.value = t.slice(p + 1, r), o.sourceEndIndex = o.unclosed ? r : r + 1, e.push(o), p = r + 1, d = t.charCodeAt(p) } else if (d === vt && t.charCodeAt(p + 1) === Xi) r = t.indexOf("*/", p), o = { type: "comment", sourceIndex: p, sourceEndIndex: r + 2 }, r === -1 && (o.unclosed = !0, r = t.length, o.sourceEndIndex = r), o.value = t.slice(p + 2, r), e.push(o), p = r + 2, d = t.charCodeAt(p); else if ((d === vt || d === Xi) && b && b.type === "function" && b.value === "calc") o = t[p], e.push({ type: "word", sourceIndex: p - S.length, sourceEndIndex: p + o.length, value: o }), p += 1, d = t.charCodeAt(p); else if (d === vt || d === Po || d === Do) o = t[p], e.push({ type: "div", sourceIndex: p - S.length, sourceEndIndex: p + o.length, value: o, before: S, after: "" }), S = "", p += 1, d = t.charCodeAt(p); else if (Ao === d) { r = p; do r += 1, d = t.charCodeAt(r); while (d <= 32); if (u = p, o = { type: "function", sourceIndex: p - v.length, value: v, before: t.slice(u + 1, r) }, p = r, v === "url" && d !== Ji && d !== Oo) { r -= 1; do if (a = !1, r = t.indexOf(")", r + 1), ~r) for (f = r; t.charCodeAt(f - 1) === To;)f -= 1, a = !a; else t += ")", r = t.length - 1, o.unclosed = !0; while (a); c = r; do c -= 1, d = t.charCodeAt(c); while (d <= 32); u < c ? (p !== c + 1 ? o.nodes = [{ type: "word", sourceIndex: p, sourceEndIndex: c + 1, value: t.slice(p, c + 1) }] : o.nodes = [], o.unclosed && c + 1 !== r ? (o.after = "", o.nodes.push({ type: "space", sourceIndex: c + 1, sourceEndIndex: r, value: t.slice(c + 1, r) })) : (o.after = t.slice(c + 1, r), o.sourceEndIndex = r)) : (o.after = "", o.nodes = []), p = r + 1, o.sourceEndIndex = o.unclosed ? r : p, d = t.charCodeAt(p), e.push(o) } else x += 1, o.after = "", o.sourceEndIndex = p + 1, e.push(o), y.push(o), e = o.nodes = [], b = o; v = "" } else if (Eo === d && x) p += 1, d = t.charCodeAt(p), b.after = T, b.sourceEndIndex += T.length, T = "", x -= 1, y[y.length - 1].sourceEndIndex = p, y.pop(), b = y[x], e = b.nodes; else { r = p; do d === To && (r += 1), r += 1, d = t.charCodeAt(r); while (r < g && !(d <= 32 || d === Ji || d === Oo || d === Po || d === Do || d === vt || d === Ao || d === Xi && b && b.type === "function" && b.value === "calc" || d === vt && b.type === "function" && b.value === "calc" || d === Eo && x)); o = t.slice(p, r), Ao === d ? v = o : (Uk === o.charCodeAt(0) || Vk === o.charCodeAt(0)) && Wk === o.charCodeAt(1) && Gk.test(o.slice(2)) ? e.push({ type: "unicode-range", sourceIndex: p, sourceEndIndex: r, value: o }) : e.push({ type: "word", sourceIndex: p, sourceEndIndex: r, value: o }), p = r } for (p = y.length - 1; p; p -= 1)y[p].unclosed = !0, y[p].sourceEndIndex = t.length; return y[0].nodes } }); var td = w(($4, ed) => { l(); ed.exports = function i(e, t, r) { var s, n, o, a; for (s = 0, n = e.length; s < n; s += 1)o = e[s], r || (a = t(o, s, e)), a !== !1 && o.type === "function" && Array.isArray(o.nodes) && i(o.nodes, t, r), r && t(o, s, e) } }); var nd = w((j4, sd) => { l(); function rd(i, e) { var t = i.type, r = i.value, s, n; return e && (n = e(i)) !== void 0 ? n : t === "word" || t === "space" ? r : t === "string" ? (s = i.quote || "", s + r + (i.unclosed ? "" : s)) : t === "comment" ? "/*" + r + (i.unclosed ? "" : "*/") : t === "div" ? (i.before || "") + r + (i.after || "") : Array.isArray(i.nodes) ? (s = id(i.nodes, e), t !== "function" ? s : r + "(" + (i.before || "") + s + (i.after || "") + (i.unclosed ? "" : ")")) : r } function id(i, e) { var t, r; if (Array.isArray(i)) { for (t = "", r = i.length - 1; ~r; r -= 1)t = rd(i[r], e) + t; return t } return rd(i, e) } sd.exports = id }); var ad = w((U4, od) => { l(); var Ki = "-".charCodeAt(0), Zi = "+".charCodeAt(0), qo = ".".charCodeAt(0), Yk = "e".charCodeAt(0), Hk = "E".charCodeAt(0); function Qk(i) { var e = i.charCodeAt(0), t; if (e === Zi || e === Ki) { if (t = i.charCodeAt(1), t >= 48 && t <= 57) return !0; var r = i.charCodeAt(2); return t === qo && r >= 48 && r <= 57 } return e === qo ? (t = i.charCodeAt(1), t >= 48 && t <= 57) : e >= 48 && e <= 57 } od.exports = function (i) { var e = 0, t = i.length, r, s, n; if (t === 0 || !Qk(i)) return !1; for (r = i.charCodeAt(e), (r === Zi || r === Ki) && e++; e < t && (r = i.charCodeAt(e), !(r < 48 || r > 57));)e += 1; if (r = i.charCodeAt(e), s = i.charCodeAt(e + 1), r === qo && s >= 48 && s <= 57) for (e += 2; e < t && (r = i.charCodeAt(e), !(r < 48 || r > 57));)e += 1; if (r = i.charCodeAt(e), s = i.charCodeAt(e + 1), n = i.charCodeAt(e + 2), (r === Yk || r === Hk) && (s >= 48 && s <= 57 || (s === Zi || s === Ki) && n >= 48 && n <= 57)) for (e += s === Zi || s === Ki ? 3 : 2; e < t && (r = i.charCodeAt(e), !(r < 48 || r > 57));)e += 1; return { number: i.slice(0, e), unit: i.slice(e) } } }); var Dr = w((V4, fd) => { l(); var Jk = Zp(), ld = td(), ud = nd(); function ze(i) { return this instanceof ze ? (this.nodes = Jk(i), this) : new ze(i) } ze.prototype.toString = function () { return Array.isArray(this.nodes) ? ud(this.nodes) : "" }; ze.prototype.walk = function (i, e) { return ld(this.nodes, i, e), this }; ze.unit = ad(); ze.walk = ld; ze.stringify = ud; fd.exports = ze }); function Ro(i) { return typeof i == "object" && i !== null } function Xk(i, e) { let t = Ye(e); do if (t.pop(), (0, qr.default)(i, t) !== void 0) break; while (t.length); return t.length ? t : void 0 } function xt(i) { return typeof i == "string" ? i : i.reduce((e, t, r) => t.includes(".") ? `${e}[${t}]` : r === 0 ? t : `${e}.${t}`, "") } function pd(i) { return i.map(e => `'${e}'`).join(", ") } function dd(i) { return pd(Object.keys(i)) } function Mo(i, e, t) { let r = Array.isArray(e) ? xt(e) : e.replace(/^['"]+/g, "").replace(/['"]+$/g, ""), s = Array.isArray(e) ? e : Ye(r), n = (0, qr.default)(i.theme, s, t); if (n === void 0) { let a = `'${r}' does not exist in your theme config.`, f = s.slice(0, -1), c = (0, qr.default)(i.theme, f); if (Ro(c)) { let u = Object.keys(c).filter(d => Mo(i, [...f, d]).isValid), p = (0, cd.default)(s[s.length - 1], u); p ? a += ` Did you mean '${xt([...f, p])}'?` : u.length > 0 && (a += ` '${xt(f)}' has the following valid keys: ${pd(u)}`) } else { let u = Xk(i.theme, r); if (u) { let p = (0, qr.default)(i.theme, u); Ro(p) ? a += ` '${xt(u)}' has the following keys: ${dd(p)}` : a += ` '${xt(u)}' is not an object.` } else a += ` Your theme has the following top-level keys: ${dd(i.theme)}` } return { isValid: !1, error: a } } if (!(typeof n == "string" || typeof n == "number" || typeof n == "function" || n instanceof String || n instanceof Number || Array.isArray(n))) { let a = `'${r}' was found but does not resolve to a string.`; if (Ro(n)) { let f = Object.keys(n).filter(c => Mo(i, [...s, c]).isValid); f.length && (a += ` Did you mean something like '${xt([...s, f[0]])}'?`) } return { isValid: !1, error: a } } let [o] = s; return { isValid: !0, value: De(o)(n) } } function Kk(i, e, t) { e = e.map(s => hd(i, s, t)); let r = [""]; for (let s of e) s.type === "div" && s.value === "," ? r.push("") : r[r.length - 1] += Io.default.stringify(s); return r } function hd(i, e, t) { if (e.type === "function" && t[e.value] !== void 0) { let r = Kk(i, e.nodes, t); e.type = "word", e.value = t[e.value](i, ...r) } return e } function Zk(i, e, t) { return (0, Io.default)(e).walk(r => { hd(i, r, t) }).toString() } function md({ tailwindConfig: i }) { let e = { theme: (t, r, ...s) => { let { isValid: n, value: o, error: a } = Mo(i, r, s.length ? s : void 0); if (!n) throw t.error(a); return o }, screen: (t, r) => { r = r.replace(/^['"]+/g, "").replace(/['"]+$/g, ""); let n = Be(i.theme.screens).find(({ name: o }) => o === r); if (!n) throw t.error(`The '${r}' screen does not exist in your theme.`); return Ze(n) } }; return t => { t.walk(r => { let s = e2[r.type]; s !== void 0 && (r[s] = Zk(r, r[s], e)) }) } } var qr, cd, Io, e2, gd = _(() => { l(); qr = V(js()), cd = V(Xp()); kr(); Io = V(Dr()); Vi(); Ui(); jr(); e2 = { atrule: "params", decl: "value" } }); function yd({ tailwindConfig: { theme: i } }) { return function (e) { e.walkAtRules("screen", t => { let r = t.params, n = Be(i.screens).find(({ name: o }) => o === r); if (!n) throw t.error(`No \`${r}\` screen found.`); t.name = "media", t.params = Ze(n) }) } } var wd = _(() => { l(); Vi(); Ui() }); function t2(i) { let e = i.filter(a => a.type !== "pseudo" || a.nodes.length > 0 ? !0 : a.value.startsWith("::") || [":before", ":after", ":first-line", ":first-letter"].includes(a.value)).reverse(), t = new Set(["tag", "class", "id", "attribute"]), r = e.findIndex(a => t.has(a.type)); if (r === -1) return e.reverse().join("").trim(); let s = e[r], n = bd[s.type] ? bd[s.type](s) : s; e = e.slice(0, r); let o = e.findIndex(a => a.type === "combinator" && a.value === ">"); return o !== -1 && (e.splice(0, o), e.unshift(es.default.universal())), [n, ...e.reverse()].join("").trim() } function i2(i) { return No.has(i) || No.set(i, r2.transformSync(i)), No.get(i) } function Lo({ tailwindConfig: i }) { return e => { let t = new Map, r = new Set; e.walkAtRules("defaults", s => { if (s.nodes && s.nodes.length > 0) { r.add(s); return } let n = s.params; t.has(n) || t.set(n, new Set), t.get(n).add(s.parent), s.remove() }); for (let s of r) { let n = new Map, o = t.get(s.params) ?? []; for (let a of o) for (let f of i2(a.selector)) { let c = f.includes(":-") || f.includes("::-") ? f : "__DEFAULT__", u = n.get(c) ?? new Set; n.set(c, u), u.add(f) } if (Gr(i, "optimizeUniversalDefaults")) { if (n.size === 0) { s.remove(); continue } for (let [, a] of n) { let f = B.rule(); f.selectors = [...a], f.append(s.nodes.map(c => c.clone())), s.before(f) } } else { let a = B.rule(); a.selectors = ["*", "::before", "::after"], a.append(s.nodes), s.before(a) } s.remove() } } } var es, bd, r2, No, vd = _(() => { l(); Ne(); es = V(be()); Yr(); bd = { id(i) { return es.default.attribute({ attribute: "id", operator: "=", value: i.value, quoteMark: '"' }) } }; r2 = (0, es.default)(i => i.map(e => { let t = e.split(r => r.type === "combinator" && r.value === " ").pop(); return t2(t) })), No = new Map }); function Bo() { return i => { let e = null; i.each(t => { if (!s2.has(t.type)) { e = null; return } if (e === null) { e = t; return } let r = xd[t.type]; t.type === "atrule" && t.name === "font-face" ? e = t : r.every(s => (t[s] ?? "").replace(/\s+/g, " ") === (e[s] ?? "").replace(/\s+/g, " ")) ? (e.append(t.nodes), t.remove()) : e = t }) } } var xd, s2, kd = _(() => { l(); xd = { atrule: ["name", "params"], rule: ["selector"] }, s2 = new Set(Object.keys(xd)) }); function Fo() { return i => { i.walkRules(e => { let t = new Map, r = new Set([]), s = new Map; e.walkDecls(n => { if (n.parent === e) { if (t.has(n.prop)) { if (t.get(n.prop).value === n.value) { r.add(t.get(n.prop)), t.set(n.prop, n); return } s.has(n.prop) || s.set(n.prop, new Set), s.get(n.prop).add(t.get(n.prop)), s.get(n.prop).add(n) } t.set(n.prop, n) } }); for (let n of r) n.remove(); for (let n of s.values()) { let o = new Map; for (let a of n) { let f = o2(a.value); f !== null && (o.has(f) || o.set(f, new Set), o.get(f).add(a)) } for (let a of o.values()) { let f = Array.from(a).slice(0, -1); for (let c of f) c.remove() } } }) } } function o2(i) { let e = /^-?\d*.?\d+([\w%]+)?$/g.exec(i); return e ? e[1] ?? n2 : null } var n2, Sd = _(() => { l(); n2 = Symbol("unitless-number") }); function a2(i) { if (!i.walkAtRules) return; let e = new Set; if (i.walkAtRules("apply", t => { e.add(t.parent) }), e.size !== 0) for (let t of e) { let r = [], s = []; for (let n of t.nodes) n.type === "atrule" && n.name === "apply" ? (s.length > 0 && (r.push(s), s = []), r.push([n])) : s.push(n); if (s.length > 0 && r.push(s), r.length !== 1) { for (let n of [...r].reverse()) { let o = t.clone({ nodes: [] }); o.append(n), t.after(o) } t.remove() } } } function ts() { return i => { a2(i) } } var _d = _(() => { l() }); function Cd(i) {
return (e, t) => {
let r = !1; e.walkAtRules("tailwind", s => {
if (r) return !1; if (s.parent && s.parent.type !== "root") return r = !0, s.warn(t, ["Nested @tailwind rules were detected, but are not supported.", "Consider using a prefix to scope Tailwind's classes: https://tailwindcss.com/docs/configuration#prefix", "Alternatively, use the important selector strategy: https://tailwindcss.com/docs/configuration#selector-strategy"].join(`
`)), !1
}), e.walkRules(s => {
if (r) return !1; s.walkRules(n => (r = !0, n.warn(t, ["Nested CSS was detected, but CSS nesting has not been configured correctly.", "Please enable a CSS nesting plugin *before* Tailwind in your configuration.", "See how here: https://tailwindcss.com/docs/using-with-preprocessors#nesting"].join(`
`)), !1))
})
}
} var Ad = _(() => { l() }); function zo(i) { return function (e, t) { let { tailwindDirectives: r, applyDirectives: s } = ko(e); Cd()(e, t), ts()(e, t); let n = i({ tailwindDirectives: r, applyDirectives: s, registerDependency(o) { t.messages.push({ plugin: "tailwindcss", parent: t.opts.from, ...o }) }, createContext(o, a) { return yo(o, a, e) } })(e, t); if (n.tailwindConfig.separator === "-") throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead."); El(n.tailwindConfig), So(n)(e, t), ts()(e, t), Co(n)(e, t), md(n)(e, t), yd(n)(e, t), Lo(n)(e, t), Bo(n)(e, t), Fo(n)(e, t) } } var Ed = _(() => { l(); Bp(); Wp(); Jp(); gd(); wd(); vd(); kd(); Sd(); _d(); Ad(); wo(); Yr() }); var Od = w((kT, $o) => {
l(); Lp(); Ed(); He(); $o.exports = function (e) {
return {
postcssPlugin: "tailwindcss", plugins: [ue.DEBUG && function (t) {
return console.log(`
`), console.time("JIT TOTAL"), t
}, function (t, r) { zo(xo(e))(t, r) }, ue.DEBUG && function (t) {
return console.timeEnd("JIT TOTAL"), console.log(`
`), t
}].filter(Boolean)
}
}; $o.exports.postcss = !0
}); var jo = w((ST, Td) => { l(); Td.exports = () => ["and_chr 92", "and_uc 12.12", "chrome 92", "chrome 91", "edge 91", "firefox 89", "ios_saf 14.5-14.7", "ios_saf 14.0-14.4", "safari 14.1", "samsung 14.0"] }); var rs = {}; le(rs, { agents: () => l2, feature: () => u2 }); function u2() { return { status: "cr", title: "CSS Feature Queries", stats: { ie: { "6": "n", "7": "n", "8": "n", "9": "n", "10": "n", "11": "n", "5.5": "n" }, edge: { "12": "y", "13": "y", "14": "y", "15": "y", "16": "y", "17": "y", "18": "y", "79": "y", "80": "y", "81": "y", "83": "y", "84": "y", "85": "y", "86": "y", "87": "y", "88": "y", "89": "y", "90": "y", "91": "y", "92": "y" }, firefox: { "2": "n", "3": "n", "4": "n", "5": "n", "6": "n", "7": "n", "8": "n", "9": "n", "10": "n", "11": "n", "12": "n", "13": "n", "14": "n", "15": "n", "16": "n", "17": "n", "18": "n", "19": "n", "20": "n", "21": "n", "22": "y", "23": "y", "24": "y", "25": "y", "26": "y", "27": "y", "28": "y", "29": "y", "30": "y", "31": "y", "32": "y", "33": "y", "34": "y", "35": "y", "36": "y", "37": "y", "38": "y", "39": "y", "40": "y", "41": "y", "42": "y", "43": "y", "44": "y", "45": "y", "46": "y", "47": "y", "48": "y", "49": "y", "50": "y", "51": "y", "52": "y", "53": "y", "54": "y", "55": "y", "56": "y", "57": "y", "58": "y", "59": "y", "60": "y", "61": "y", "62": "y", "63": "y", "64": "y", "65": "y", "66": "y", "67": "y", "68": "y", "69": "y", "70": "y", "71": "y", "72": "y", "73": "y", "74": "y", "75": "y", "76": "y", "77": "y", "78": "y", "79": "y", "80": "y", "81": "y", "82": "y", "83": "y", "84": "y", "85": "y", "86": "y", "87": "y", "88": "y", "89": "y", "90": "y", "91": "y", "92": "y", "93": "y", "3.5": "n", "3.6": "n" }, chrome: { "4": "n", "5": "n", "6": "n", "7": "n", "8": "n", "9": "n", "10": "n", "11": "n", "12": "n", "13": "n", "14": "n", "15": "n", "16": "n", "17": "n", "18": "n", "19": "n", "20": "n", "21": "n", "22": "n", "23": "n", "24": "n", "25": "n", "26": "n", "27": "n", "28": "y", "29": "y", "30": "y", "31": "y", "32": "y", "33": "y", "34": "y", "35": "y", "36": "y", "37": "y", "38": "y", "39": "y", "40": "y", "41": "y", "42": "y", "43": "y", "44": "y", "45": "y", "46": "y", "47": "y", "48": "y", "49": "y", "50": "y", "51": "y", "52": "y", "53": "y", "54": "y", "55": "y", "56": "y", "57": "y", "58": "y", "59": "y", "60": "y", "61": "y", "62": "y", "63": "y", "64": "y", "65": "y", "66": "y", "67": "y", "68": "y", "69": "y", "70": "y", "71": "y", "72": "y", "73": "y", "74": "y", "75": "y", "76": "y", "77": "y", "78": "y", "79": "y", "80": "y", "81": "y", "83": "y", "84": "y", "85": "y", "86": "y", "87": "y", "88": "y", "89": "y", "90": "y", "91": "y", "92": "y", "93": "y", "94": "y", "95": "y" }, safari: { "4": "n", "5": "n", "6": "n", "7": "n", "8": "n", "9": "y", "10": "y", "11": "y", "12": "y", "13": "y", "14": "y", "15": "y", "9.1": "y", "10.1": "y", "11.1": "y", "12.1": "y", "13.1": "y", "14.1": "y", TP: "y", "3.1": "n", "3.2": "n", "5.1": "n", "6.1": "n", "7.1": "n" }, opera: { "9": "n", "11": "n", "12": "n", "15": "y", "16": "y", "17": "y", "18": "y", "19": "y", "20": "y", "21": "y", "22": "y", "23": "y", "24": "y", "25": "y", "26": "y", "27": "y", "28": "y", "29": "y", "30": "y", "31": "y", "32": "y", "33": "y", "34": "y", "35": "y", "36": "y", "37": "y", "38": "y", "39": "y", "40": "y", "41": "y", "42": "y", "43": "y", "44": "y", "45": "y", "46": "y", "47": "y", "48": "y", "49": "y", "50": "y", "51": "y", "52": "y", "53": "y", "54": "y", "55": "y", "56": "y", "57": "y", "58": "y", "60": "y", "62": "y", "63": "y", "64": "y", "65": "y", "66": "y", "67": "y", "68": "y", "69": "y", "70": "y", "71": "y", "72": "y", "73": "y", "74": "y", "75": "y", "76": "y", "77": "y", "78": "y", "12.1": "y", "9.5-9.6": "n", "10.0-10.1": "n", "10.5": "n", "10.6": "n", "11.1": "n", "11.5": "n", "11.6": "n" }, ios_saf: { "8": "n", "9.0-9.2": "y", "9.3": "y", "10.0-10.2": "y", "10.3": "y", "11.0-11.2": "y", "11.3-11.4": "y", "12.0-12.1": "y", "12.2-12.4": "y", "13.0-13.1": "y", "13.2": "y", "13.3": "y", "13.4-13.7": "y", "14.0-14.4": "y", "14.5-14.7": "y", "3.2": "n", "4.0-4.1": "n", "4.2-4.3": "n", "5.0-5.1": "n", "6.0-6.1": "n", "7.0-7.1": "n", "8.1-8.4": "n" }, op_mini: { all: "y" }, android: { "3": "n", "4": "n", "92": "y", "4.4": "y", "4.4.3-4.4.4": "y", "2.1": "n", "2.2": "n", "2.3": "n", "4.1": "n", "4.2-4.3": "n" }, bb: { "7": "n", "10": "n" }, op_mob: { "10": "n", "11": "n", "12": "n", "64": "y", "11.1": "n", "11.5": "n", "12.1": "n" }, and_chr: { "92": "y" }, and_ff: { "90": "y" }, ie_mob: { "10": "n", "11": "n" }, and_uc: { "12.12": "y" }, samsung: { "4": "y", "5.0-5.4": "y", "6.2-6.4": "y", "7.2-7.4": "y", "8.2": "y", "9.2": "y", "10.1": "y", "11.1-11.2": "y", "12.0": "y", "13.0": "y", "14.0": "y" }, and_qq: { "10.4": "y" }, baidu: { "7.12": "y" }, kaios: { "2.5": "y" } } } } var l2, is = _(() => { l(); l2 = { ie: { prefix: "ms" }, edge: { prefix: "webkit", prefix_exceptions: { "12": "ms", "13": "ms", "14": "ms", "15": "ms", "16": "ms", "17": "ms", "18": "ms" } }, firefox: { prefix: "moz" }, chrome: { prefix: "webkit" }, safari: { prefix: "webkit" }, opera: { prefix: "webkit", prefix_exceptions: { "9": "o", "11": "o", "12": "o", "9.5-9.6": "o", "10.0-10.1": "o", "10.5": "o", "10.6": "o", "11.1": "o", "11.5": "o", "11.6": "o", "12.1": "o" } }, ios_saf: { prefix: "webkit" }, op_mini: { prefix: "o" }, android: { prefix: "webkit" }, bb: { prefix: "webkit" }, op_mob: { prefix: "o", prefix_exceptions: { "64": "webkit" } }, and_chr: { prefix: "webkit" }, and_ff: { prefix: "moz" }, ie_mob: { prefix: "ms" }, and_uc: { prefix: "webkit", prefix_exceptions: { "12.12": "webkit" } }, samsung: { prefix: "webkit" }, and_qq: { prefix: "webkit" }, baidu: { prefix: "webkit" }, kaios: { prefix: "moz" } } }); var Pd = w(() => { l() }); var J = w((AT, $e) => { l(); var { list: Uo } = te(); $e.exports.error = function (i) { let e = new Error(i); throw e.autoprefixer = !0, e }; $e.exports.uniq = function (i) { return [...new Set(i)] }; $e.exports.removeNote = function (i) { return i.includes(" ") ? i.split(" ")[0] : i }; $e.exports.escapeRegexp = function (i) { return i.replace(/[$()*+-.?[\\\]^{|}]/g, "\\$&") }; $e.exports.regexp = function (i, e = !0) { return e && (i = this.escapeRegexp(i)), new RegExp(`(^|[\\s,(])(${i}($|[\\s(,]))`, "gi") }; $e.exports.editList = function (i, e) { let t = Uo.comma(i), r = e(t, []); if (t === r) return i; let s = i.match(/,\s*/); return s = s ? s[0] : ", ", r.join(s) }; $e.exports.splitSelector = function (i) { return Uo.comma(i).map(e => Uo.space(e).map(t => t.split(/(?=\.|#)/g))) } }); var je = w((ET, Id) => { l(); var f2 = jo(), Dd = (is(), rs).agents, c2 = J(), qd = class { static prefixes() { if (this.prefixesCache) return this.prefixesCache; this.prefixesCache = []; for (let e in Dd) this.prefixesCache.push(`-${Dd[e].prefix}-`); return this.prefixesCache = c2.uniq(this.prefixesCache).sort((e, t) => t.length - e.length), this.prefixesCache } static withPrefix(e) { return this.prefixesRegexp || (this.prefixesRegexp = new RegExp(this.prefixes().join("|"))), this.prefixesRegexp.test(e) } constructor(e, t, r, s) { this.data = e, this.options = r || {}, this.browserslistOpts = s || {}, this.selected = this.parse(t) } parse(e) { let t = {}; for (let r in this.browserslistOpts) t[r] = this.browserslistOpts[r]; return t.path = this.options.from, f2(e, t) } prefix(e) { let [t, r] = e.split(" "), s = this.data[t], n = s.prefix_exceptions && s.prefix_exceptions[r]; return n || (n = s.prefix), `-${n}-` } isSelected(e) { return this.selected.includes(e) } }; Id.exports = qd }); var Ir = w((OT, Rd) => { l(); Rd.exports = { prefix(i) { let e = i.match(/^(-\w+-)/); return e ? e[0] : "" }, unprefixed(i) { return i.replace(/^-\w+-/, "") } } }); var kt = w((TT, Nd) => { l(); var p2 = je(), Md = Ir(), d2 = J(); function Vo(i, e) { let t = new i.constructor; for (let r of Object.keys(i || {})) { let s = i[r]; r === "parent" && typeof s == "object" ? e && (t[r] = e) : r === "source" || r === null ? t[r] = s : Array.isArray(s) ? t[r] = s.map(n => Vo(n, t)) : r !== "_autoprefixerPrefix" && r !== "_autoprefixerValues" && r !== "proxyCache" && (typeof s == "object" && s !== null && (s = Vo(s, t)), t[r] = s) } return t } var ss = class { static hack(e) { return this.hacks || (this.hacks = {}), e.names.map(t => (this.hacks[t] = e, this.hacks[t])) } static load(e, t, r) { let s = this.hacks && this.hacks[e]; return s ? new s(e, t, r) : new this(e, t, r) } static clone(e, t) { let r = Vo(e); for (let s in t) r[s] = t[s]; return r } constructor(e, t, r) { this.prefixes = t, this.name = e, this.all = r } parentPrefix(e) { let t; return typeof e._autoprefixerPrefix != "undefined" ? t = e._autoprefixerPrefix : e.type === "decl" && e.prop[0] === "-" ? t = Md.prefix(e.prop) : e.type === "root" ? t = !1 : e.type === "rule" && e.selector.includes(":-") && /:(-\w+-)/.test(e.selector) ? t = e.selector.match(/:(-\w+-)/)[1] : e.type === "atrule" && e.name[0] === "-" ? t = Md.prefix(e.name) : t = this.parentPrefix(e.parent), p2.prefixes().includes(t) || (t = !1), e._autoprefixerPrefix = t, e._autoprefixerPrefix } process(e, t) { if (!this.check(e)) return; let r = this.parentPrefix(e), s = this.prefixes.filter(o => !r || r === d2.removeNote(o)), n = []; for (let o of s) this.add(e, o, n.concat([o]), t) && n.push(o); return n } clone(e, t) { return ss.clone(e, t) } }; Nd.exports = ss }); var D = w((PT, Fd) => {
l(); var h2 = kt(), m2 = je(), Ld = J(), Bd = class extends h2 {
check() { return !0 } prefixed(e, t) { return t + e } normalize(e) { return e } otherPrefixes(e, t) { for (let r of m2.prefixes()) if (r !== t && e.includes(r)) return !0; return !1 } set(e, t) { return e.prop = this.prefixed(e.prop, t), e } needCascade(e) {
return e._autoprefixerCascade || (e._autoprefixerCascade = this.all.options.cascade !== !1 && e.raw("before").includes(`
`)), e._autoprefixerCascade
} maxPrefixed(e, t) { if (t._autoprefixerMax) return t._autoprefixerMax; let r = 0; for (let s of e) s = Ld.removeNote(s), s.length > r && (r = s.length); return t._autoprefixerMax = r, t._autoprefixerMax } calcBefore(e, t, r = "") { let n = this.maxPrefixed(e, t) - Ld.removeNote(r).length, o = t.raw("before"); return n > 0 && (o += Array(n).fill(" ").join("")), o } restoreBefore(e) {
let t = e.raw("before").split(`
`), r = t[t.length - 1]; this.all.group(e).up(s => {
let n = s.raw("before").split(`
`), o = n[n.length - 1]; o.length < r.length && (r = o)
}), t[t.length - 1] = r, e.raws.before = t.join(`
`)
} insert(e, t, r) { let s = this.set(this.clone(e), t); if (!(!s || e.parent.some(o => o.prop === s.prop && o.value === s.value))) return this.needCascade(e) && (s.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, s) } isAlready(e, t) { let r = this.all.group(e).up(s => s.prop === t); return r || (r = this.all.group(e).down(s => s.prop === t)), r } add(e, t, r, s) { let n = this.prefixed(e.prop, t); if (!(this.isAlready(e, n) || this.otherPrefixes(e.value, t))) return this.insert(e, t, r, s) } process(e, t) { if (!this.needCascade(e)) { super.process(e, t); return } let r = super.process(e, t); !r || !r.length || (this.restoreBefore(e), e.raws.before = this.calcBefore(r, e)) } old(e, t) { return [this.prefixed(e, t)] }
}; Fd.exports = Bd
}); var $d = w((DT, zd) => { l(); zd.exports = function i(e) { return { mul: t => new i(e * t), div: t => new i(e / t), simplify: () => new i(e), toString: () => e.toString() } } }); var Vd = w((qT, Ud) => { l(); var g2 = $d(), y2 = kt(), Wo = J(), w2 = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi, b2 = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i, jd = class extends y2 { prefixName(e, t) { return e === "-moz-" ? t + "--moz-device-pixel-ratio" : e + t + "-device-pixel-ratio" } prefixQuery(e, t, r, s, n) { return s = new g2(s), n === "dpi" ? s = s.div(96) : n === "dpcm" && (s = s.mul(2.54).div(96)), s = s.simplify(), e === "-o-" && (s = s.n + "/" + s.d), this.prefixName(e, t) + r + s } clean(e) { if (!this.bad) { this.bad = []; for (let t of this.prefixes) this.bad.push(this.prefixName(t, "min")), this.bad.push(this.prefixName(t, "max")) } e.params = Wo.editList(e.params, t => t.filter(r => this.bad.every(s => !r.includes(s)))) } process(e) { let t = this.parentPrefix(e), r = t ? [t] : this.prefixes; e.params = Wo.editList(e.params, (s, n) => { for (let o of s) { if (!o.includes("min-resolution") && !o.includes("max-resolution")) { n.push(o); continue } for (let a of r) { let f = o.replace(w2, c => { let u = c.match(b2); return this.prefixQuery(a, u[1], u[2], u[3], u[4]) }); n.push(f) } n.push(o) } return Wo.uniq(n) }) } }; Ud.exports = jd }); var Qd = w((IT, Hd) => { l(); var { list: v2 } = te(), Wd = Dr(), x2 = je(), Gd = Ir(), Yd = class { constructor(e) { this.props = ["transition", "transition-property"], this.prefixes = e } add(e, t) { let r, s, n = this.prefixes.add[e.prop], o = this.ruleVendorPrefixes(e), a = o || n && n.prefixes || [], f = this.parse(e.value), c = f.map(g => this.findProp(g)), u = []; if (c.some(g => g[0] === "-")) return; for (let g of f) { if (s = this.findProp(g), s[0] === "-") continue; let y = this.prefixes.add[s]; if (!(!y || !y.prefixes)) for (r of y.prefixes) { if (o && !o.some(b => r.includes(b))) continue; let x = this.prefixes.prefixed(s, r); x !== "-ms-transform" && !c.includes(x) && (this.disabled(s, r) || u.push(this.clone(s, x, g))) } } f = f.concat(u); let p = this.stringify(f), d = this.stringify(this.cleanFromUnprefixed(f, "-webkit-")); if (a.includes("-webkit-") && this.cloneBefore(e, `-webkit-${e.prop}`, d), this.cloneBefore(e, e.prop, d), a.includes("-o-")) { let g = this.stringify(this.cleanFromUnprefixed(f, "-o-")); this.cloneBefore(e, `-o-${e.prop}`, g) } for (r of a) if (r !== "-webkit-" && r !== "-o-") { let g = this.stringify(this.cleanOtherPrefixes(f, r)); this.cloneBefore(e, r + e.prop, g) } p !== e.value && !this.already(e, e.prop, p) && (this.checkForWarning(t, e), e.cloneBefore(), e.value = p) } findProp(e) { let t = e[0].value; if (/^\d/.test(t)) { for (let [r, s] of e.entries()) if (r !== 0 && s.type === "word") return s.value } return t } already(e, t, r) { return e.parent.some(s => s.prop === t && s.value === r) } cloneBefore(e, t, r) { this.already(e, t, r) || e.cloneBefore({ prop: t, value: r }) } checkForWarning(e, t) { if (t.prop !== "transition-property") return; let r = !1, s = !1; t.parent.each(n => { if (n.type !== "decl" || n.prop.indexOf("transition-") !== 0) return; let o = v2.comma(n.value); if (n.prop === "transition-property") { o.forEach(a => { let f = this.prefixes.add[a]; f && f.prefixes && f.prefixes.length > 0 && (r = !0) }); return } return s = s || o.length > 1, !1 }), r && s && t.warn(e, "Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*") } remove(e) { let t = this.parse(e.value); t = t.filter(o => { let a = this.prefixes.remove[this.findProp(o)]; return !a || !a.remove }); let r = this.stringify(t); if (e.value === r) return; if (t.length === 0) { e.remove(); return } let s = e.parent.some(o => o.prop === e.prop && o.value === r), n = e.parent.some(o => o !== e && o.prop === e.prop && o.value.length > r.length); if (s || n) { e.remove(); return } e.value = r } parse(e) { let t = Wd(e), r = [], s = []; for (let n of t.nodes) s.push(n), n.type === "div" && n.value === "," && (r.push(s), s = []); return r.push(s), r.filter(n => n.length > 0) } stringify(e) { if (e.length === 0) return ""; let t = []; for (let r of e) r[r.length - 1].type !== "div" && r.push(this.div(e)), t = t.concat(r); return t[0].type === "div" && (t = t.slice(1)), t[t.length - 1].type === "div" && (t = t.slice(0, -2 + 1 || void 0)), Wd.stringify({ nodes: t }) } clone(e, t, r) { let s = [], n = !1; for (let o of r) !n && o.type === "word" && o.value === e ? (s.push({ type: "word", value: t }), n = !0) : s.push(o); return s } div(e) { for (let t of e) for (let r of t) if (r.type === "div" && r.value === ",") return r; return { type: "div", value: ",", after: " " } } cleanOtherPrefixes(e, t) { return e.filter(r => { let s = Gd.prefix(this.findProp(r)); return s === "" || s === t }) } cleanFromUnprefixed(e, t) { let r = e.map(n => this.findProp(n)).filter(n => n.slice(0, t.length) === t).map(n => this.prefixes.unprefixed(n)), s = []; for (let n of e) { let o = this.findProp(n), a = Gd.prefix(o); !r.includes(o) && (a === t || a === "") && s.push(n) } return s } disabled(e, t) { let r = ["order", "justify-content", "align-self", "align-content"]; if (e.includes("flex") || r.includes(e)) { if (this.prefixes.options.flexbox === !1) return !0; if (this.prefixes.options.flexbox === "no-2009") return t.includes("2009") } } ruleVendorPrefixes(e) { let { parent: t } = e; if (t.type !== "rule") return !1; if (!t.selector.includes(":-")) return !1; let r = x2.prefixes().filter(s => t.selector.includes(":" + s)); return r.length > 0 ? r : !1 } }; Hd.exports = Yd }); var St = w((RT, Xd) => { l(); var k2 = J(), Jd = class { constructor(e, t, r, s) { this.unprefixed = e, this.prefixed = t, this.string = r || t, this.regexp = s || k2.regexp(t) } check(e) { return e.includes(this.string) ? !!e.match(this.regexp) : !1 } }; Xd.exports = Jd }); var oe = w((MT, Zd) => { l(); var S2 = kt(), _2 = St(), C2 = Ir(), A2 = J(), Kd = class extends S2 { static save(e, t) { let r = t.prop, s = []; for (let n in t._autoprefixerValues) { let o = t._autoprefixerValues[n]; if (o === t.value) continue; let a, f = C2.prefix(r); if (f === "-pie-") continue; if (f === n) { a = t.value = o, s.push(a); continue } let c = e.prefixed(r, n), u = t.parent; if (!u.every(y => y.prop !== c)) { s.push(a); continue } let p = o.replace(/\s+/, " "); if (u.some(y => y.prop === t.prop && y.value.replace(/\s+/, " ") === p)) { s.push(a); continue } let g = this.clone(t, { value: o }); a = t.parent.insertBefore(t, g), s.push(a) } return s } check(e) { let t = e.value; return t.includes(this.name) ? !!t.match(this.regexp()) : !1 } regexp() { return this.regexpCache || (this.regexpCache = A2.regexp(this.name)) } replace(e, t) { return e.replace(this.regexp(), `$1${t}$2`) } value(e) { return e.raws.value && e.raws.value.value === e.value ? e.raws.value.raw : e.value } add(e, t) { e._autoprefixerValues || (e._autoprefixerValues = {}); let r = e._autoprefixerValues[t] || this.value(e), s; do if (s = r, r = this.replace(r, t), r === !1) return; while (r !== s); e._autoprefixerValues[t] = r } old(e) { return new _2(this.name, e + this.name) } }; Zd.exports = Kd }); var Ue = w((NT, eh) => { l(); eh.exports = {} }); var Yo = w((LT, ih) => {
l(); var th = Dr(), E2 = oe(), O2 = Ue().insertAreas, T2 = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i, P2 = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i, D2 = /(!\s*)?autoprefixer:\s*ignore\s+next/i, q2 = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i, I2 = ["width", "height", "min-width", "max-width", "min-height", "max-height", "inline-size", "min-inline-size", "max-inline-size", "block-size", "min-block-size", "max-block-size"]; function Go(i) { return i.parent.some(e => e.prop === "grid-template" || e.prop === "grid-template-areas") } function R2(i) { let e = i.parent.some(r => r.prop === "grid-template-rows"), t = i.parent.some(r => r.prop === "grid-template-columns"); return e && t } var rh = class {
constructor(e) { this.prefixes = e } add(e, t) { let r = this.prefixes.add["@resolution"], s = this.prefixes.add["@keyframes"], n = this.prefixes.add["@viewport"], o = this.prefixes.add["@supports"]; e.walkAtRules(u => { if (u.name === "keyframes") { if (!this.disabled(u, t)) return s && s.process(u) } else if (u.name === "viewport") { if (!this.disabled(u, t)) return n && n.process(u) } else if (u.name === "supports") { if (this.prefixes.options.supports !== !1 && !this.disabled(u, t)) return o.process(u) } else if (u.name === "media" && u.params.includes("-resolution") && !this.disabled(u, t)) return r && r.process(u) }), e.walkRules(u => { if (!this.disabled(u, t)) return this.prefixes.add.selectors.map(p => p.process(u, t)) }); function a(u) { return u.parent.nodes.some(p => { if (p.type !== "decl") return !1; let d = p.prop === "display" && /(inline-)?grid/.test(p.value), g = p.prop.startsWith("grid-template"), y = /^grid-([A-z]+-)?gap/.test(p.prop); return d || g || y }) } function f(u) { return u.parent.some(p => p.prop === "display" && /(inline-)?flex/.test(p.value)) } let c = this.gridStatus(e, t) && this.prefixes.add["grid-area"] && this.prefixes.add["grid-area"].prefixes; return e.walkDecls(u => { if (this.disabledDecl(u, t)) return; let p = u.parent, d = u.prop, g = u.value; if (d === "grid-row-span") { t.warn("grid-row-span is not part of final Grid Layout. Use grid-row.", { node: u }); return } else if (d === "grid-column-span") { t.warn("grid-column-span is not part of final Grid Layout. Use grid-column.", { node: u }); return } else if (d === "display" && g === "box") { t.warn("You should write display: flex by final spec instead of display: box", { node: u }); return } else if (d === "text-emphasis-position") (g === "under" || g === "over") && t.warn("You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.", { node: u }); else if (/^(align|justify|place)-(items|content)$/.test(d) && f(u)) (g === "start" || g === "end") && t.warn(`${g} value has mixed support, consider using flex-${g} instead`, { node: u }); else if (d === "text-decoration-skip" && g === "ink") t.warn("Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed", { node: u }); else { if (c && this.gridStatus(u, t)) if (u.value === "subgrid" && t.warn("IE does not support subgrid", { node: u }), /^(align|justify|place)-items$/.test(d) && a(u)) { let x = d.replace("-items", "-self"); t.warn(`IE does not support ${d} on grid containers. Try using ${x} on child elements instead: ${u.parent.selector} > * { ${x}: ${u.value} }`, { node: u }) } else if (/^(align|justify|place)-content$/.test(d) && a(u)) t.warn(`IE does not support ${u.prop} on grid containers`, { node: u }); else if (d === "display" && u.value === "contents") { t.warn("Please do not use display: contents; if you have grid setting enabled", { node: u }); return } else if (u.prop === "grid-gap") { let x = this.gridStatus(u, t); x === "autoplace" && !R2(u) && !Go(u) ? t.warn("grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid", { node: u }) : (x === !0 || x === "no-autoplace") && !Go(u) && t.warn("grid-gap only works if grid-template(-areas) is being used", { node: u }) } else if (d === "grid-auto-columns") { t.warn("grid-auto-columns is not supported by IE", { node: u }); return } else if (d === "grid-auto-rows") { t.warn("grid-auto-rows is not supported by IE", { node: u }); return } else if (d === "grid-auto-flow") { let x = p.some(v => v.prop === "grid-template-rows"), b = p.some(v => v.prop === "grid-template-columns"); Go(u) ? t.warn("grid-auto-flow is not supported by IE", { node: u }) : g.includes("dense") ? t.warn("grid-auto-flow: dense is not supported by IE", { node: u }) : !x && !b && t.warn("grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule", { node: u }); return } else if (g.includes("auto-fit")) { t.warn("auto-fit value is not supported by IE", { node: u, word: "auto-fit" }); return } else if (g.includes("auto-fill")) { t.warn("auto-fill value is not supported by IE", { node: u, word: "auto-fill" }); return } else d.startsWith("grid-template") && g.includes("[") && t.warn("Autoprefixer currently does not support line names. Try using grid-template-areas instead.", { node: u, word: "[" }); if (g.includes("radial-gradient")) if (P2.test(u.value)) t.warn("Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.", { node: u }); else { let x = th(g); for (let b of x.nodes) if (b.type === "function" && b.value === "radial-gradient") for (let v of b.nodes) v.type === "word" && (v.value === "cover" ? t.warn("Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.", { node: u }) : v.value === "contain" && t.warn("Gradient has outdated direction syntax. Replace `contain` to `closest-side`.", { node: u })) } g.includes("linear-gradient") && T2.test(g) && t.warn("Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.", { node: u }) } I2.includes(u.prop) && (u.value.includes("-fill-available") || (u.value.includes("fill-available") ? t.warn("Replace fill-available to stretch, because spec had been changed", { node: u }) : u.value.includes("fill") && th(g).nodes.some(b => b.type === "word" && b.value === "fill") && t.warn("Replace fill to stretch, because spec had been changed", { node: u }))); let y; if (u.prop === "transition" || u.prop === "transition-property") return this.prefixes.transition.add(u, t); if (u.prop === "align-self") { if (this.displayType(u) !== "grid" && this.prefixes.options.flexbox !== !1 && (y = this.prefixes.add["align-self"], y && y.prefixes && y.process(u)), this.gridStatus(u, t) !== !1 && (y = this.prefixes.add["grid-row-align"], y && y.prefixes)) return y.process(u, t) } else if (u.prop === "justify-self") { if (this.gridStatus(u, t) !== !1 && (y = this.prefixes.add["grid-column-align"], y && y.prefixes)) return y.process(u, t) } else if (u.prop === "place-self") { if (y = this.prefixes.add["place-self"], y && y.prefixes && this.gridStatus(u, t) !== !1) return y.process(u, t) } else if (y = this.prefixes.add[u.prop], y && y.prefixes) return y.process(u, t) }), this.gridStatus(e, t) && O2(e, this.disabled), e.walkDecls(u => { if (this.disabledValue(u, t)) return; let p = this.prefixes.unprefixed(u.prop), d = this.prefixes.values("add", p); if (Array.isArray(d)) for (let g of d) g.process && g.process(u, t); E2.save(this.prefixes, u) }) } remove(e, t) {
let r = this.prefixes.remove["@resolution"]; e.walkAtRules((s, n) => { this.prefixes.remove[`@${s.name}`] ? this.disabled(s, t) || s.parent.removeChild(n) : s.name === "media" && s.params.includes("-resolution") && r && r.clean(s) }); for (let s of this.prefixes.remove.selectors) e.walkRules((n, o) => { s.check(n) && (this.disabled(n, t) || n.parent.removeChild(o)) }); return e.walkDecls((s, n) => {
if (this.disabled(s, t)) return; let o = s.parent, a = this.prefixes.unprefixed(s.prop); if ((s.prop === "transition" || s.prop === "transition-property") && this.prefixes.transition.remove(s), this.prefixes.remove[s.prop] && this.prefixes.remove[s.prop].remove) {
let f = this.prefixes.group(s).down(c => this.prefixes.normalize(c.prop) === a); if (a === "flex-flow" && (f = !0), s.prop === "-webkit-box-orient") { let c = { "flex-direction": !0, "flex-flow": !0 }; if (!s.parent.some(u => c[u.prop])) return } if (f && !this.withHackValue(s)) {
s.raw("before").includes(`
`) && this.reduceSpaces(s), o.removeChild(n); return
}
} for (let f of this.prefixes.values("remove", a)) { if (!f.check || !f.check(s.value)) continue; if (a = f.unprefixed, this.prefixes.group(s).down(u => u.value.includes(a))) { o.removeChild(n); return } }
})
} withHackValue(e) { return e.prop === "-webkit-background-clip" && e.value === "text" } disabledValue(e, t) { return this.gridStatus(e, t) === !1 && e.type === "decl" && e.prop === "display" && e.value.includes("grid") || this.prefixes.options.flexbox === !1 && e.type === "decl" && e.prop === "display" && e.value.includes("flex") || e.type === "decl" && e.prop === "content" ? !0 : this.disabled(e, t) } disabledDecl(e, t) { if (this.gridStatus(e, t) === !1 && e.type === "decl" && (e.prop.includes("grid") || e.prop === "justify-items")) return !0; if (this.prefixes.options.flexbox === !1 && e.type === "decl") { let r = ["order", "justify-content", "align-items", "align-content"]; if (e.prop.includes("flex") || r.includes(e.prop)) return !0 } return this.disabled(e, t) } disabled(e, t) { if (!e) return !1; if (e._autoprefixerDisabled !== void 0) return e._autoprefixerDisabled; if (e.parent) { let s = e.prev(); if (s && s.type === "comment" && D2.test(s.text)) return e._autoprefixerDisabled = !0, e._autoprefixerSelfDisabled = !0, !0 } let r = null; if (e.nodes) { let s; e.each(n => { n.type === "comment" && /(!\s*)?autoprefixer:\s*(off|on)/i.test(n.text) && (typeof s != "undefined" ? t.warn("Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.", { node: n }) : s = /on/i.test(n.text)) }), s !== void 0 && (r = !s) } if (!e.nodes || r === null) if (e.parent) { let s = this.disabled(e.parent, t); e.parent._autoprefixerSelfDisabled === !0 ? r = !1 : r = s } else r = !1; return e._autoprefixerDisabled = r, r } reduceSpaces(e) {
let t = !1; if (this.prefixes.group(e).up(() => (t = !0, !0)), t) return; let r = e.raw("before").split(`
`), s = r[r.length - 1].length, n = !1; this.prefixes.group(e).down(o => {
r = o.raw("before").split(`
`); let a = r.length - 1; r[a].length > s && (n === !1 && (n = r[a].length - s), r[a] = r[a].slice(0, -n), o.raws.before = r.join(`
`))
})
} displayType(e) { for (let t of e.parent.nodes) if (t.prop === "display") { if (t.value.includes("flex")) return "flex"; if (t.value.includes("grid")) return "grid" } return !1 } gridStatus(e, t) { if (!e) return !1; if (e._autoprefixerGridStatus !== void 0) return e._autoprefixerGridStatus; let r = null; if (e.nodes) { let s; e.each(n => { if (n.type === "comment" && q2.test(n.text)) { let o = /:\s*autoplace/i.test(n.text), a = /no-autoplace/i.test(n.text); typeof s != "undefined" ? t.warn("Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.", { node: n }) : o ? s = "autoplace" : a ? s = !0 : s = /on/i.test(n.text) } }), s !== void 0 && (r = s) } if (e.type === "atrule" && e.name === "supports") { let s = e.params; s.includes("grid") && s.includes("auto") && (r = !1) } if (!e.nodes || r === null) if (e.parent) { let s = this.gridStatus(e.parent, t); e.parent._autoprefixerSelfDisabled === !0 ? r = !1 : r = s } else typeof this.prefixes.options.grid != "undefined" ? r = this.prefixes.options.grid : typeof h.env.AUTOPREFIXER_GRID != "undefined" ? h.env.AUTOPREFIXER_GRID === "autoplace" ? r = "autoplace" : r = !0 : r = !1; return e._autoprefixerGridStatus = r, r }
}; ih.exports = rh
}); var nh = w((BT, sh) => { l(); sh.exports = { A: { A: { "2": "J D E F A B iB" }, B: { "1": "C K L G M N O R S T U V W X Y Z a P b H" }, C: { "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB bB HB cB IB JB Q KB LB MB NB OB PB QB RB SB TB UB VB WB XB R S T kB U V W X Y Z a P b H dB", "2": "jB aB I c J D E F A B C K L G M N O d e f lB mB" }, D: { "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB bB HB cB IB JB Q KB LB MB NB OB PB QB RB SB TB UB VB WB XB R S T U V W X Y Z a P b H dB nB oB", "2": "I c J D E F A B C K L G M N O d e f g h i j k l" }, E: { "1": "F A B C K L G tB fB YB ZB uB vB wB", "2": "I c J D E pB eB qB rB sB" }, F: { "1": "0 1 2 3 4 5 6 7 8 9 G M N O d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB Q KB LB MB NB OB PB QB RB SB TB UB VB WB XB ZB", "2": "F B C xB yB zB 0B YB gB 1B" }, G: { "1": "7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC", "2": "E eB 2B hB 3B 4B 5B 6B" }, H: { "1": "LC" }, I: { "1": "H QC RC", "2": "aB I MC NC OC PC hB" }, J: { "2": "D A" }, K: { "1": "Q", "2": "A B C YB gB ZB" }, L: { "1": "H" }, M: { "1": "P" }, N: { "2": "A B" }, O: { "1": "SC" }, P: { "1": "I TC UC VC WC XC fB YC ZC aC bC" }, Q: { "1": "cC" }, R: { "1": "dC" }, S: { "1": "eC" } }, B: 4, C: "CSS Feature Queries" } }); var uh = w((FT, lh) => { l(); function oh(i) { return i[i.length - 1] } var ah = { parse(i) { let e = [""], t = [e]; for (let r of i) { if (r === "(") { e = [""], oh(t).push(e), t.push(e); continue } if (r === ")") { t.pop(), e = oh(t), e.push(""); continue } e[e.length - 1] += r } return t[0] }, stringify(i) { let e = ""; for (let t of i) { if (typeof t == "object") { e += `(${ah.stringify(t)})`; continue } e += t } return e } }; lh.exports = ah }); var hh = w((zT, dh) => { l(); var M2 = nh(), { feature: N2 } = (is(), rs), { parse: L2 } = te(), B2 = je(), Ho = uh(), F2 = oe(), z2 = J(), fh = N2(M2), ch = []; for (let i in fh.stats) { let e = fh.stats[i]; for (let t in e) { let r = e[t]; /y/.test(r) && ch.push(i + " " + t) } } var ph = class { constructor(e, t) { this.Prefixes = e, this.all = t } prefixer() { if (this.prefixerCache) return this.prefixerCache; let e = this.all.browsers.selected.filter(r => ch.includes(r)), t = new B2(this.all.browsers.data, e, this.all.options); return this.prefixerCache = new this.Prefixes(this.all.data, t, this.all.options), this.prefixerCache } parse(e) { let t = e.split(":"), r = t[0], s = t[1]; return s || (s = ""), [r.trim(), s.trim()] } virtual(e) { let [t, r] = this.parse(e), s = L2("a{}").first; return s.append({ prop: t, value: r, raws: { before: "" } }), s } prefixed(e) { let t = this.virtual(e); if (this.disabled(t.first)) return t.nodes; let r = { warn: () => null }, s = this.prefixer().add[t.first.prop]; s && s.process && s.process(t.first, r); for (let n of t.nodes) { for (let o of this.prefixer().values("add", t.first.prop)) o.process(n); F2.save(this.all, n) } return t.nodes } isNot(e) { return typeof e == "string" && /not\s*/i.test(e) } isOr(e) { return typeof e == "string" && /\s*or\s*/i.test(e) } isProp(e) { return typeof e == "object" && e.length === 1 && typeof e[0] == "string" } isHack(e, t) { return !new RegExp(`(\\(|\\s)${z2.escapeRegexp(t)}:`).test(e) } toRemove(e, t) { let [r, s] = this.parse(e), n = this.all.unprefixed(r), o = this.all.cleaner(); if (o.remove[r] && o.remove[r].remove && !this.isHack(t, n)) return !0; for (let a of o.values("remove", n)) if (a.check(s)) return !0; return !1 } remove(e, t) { let r = 0; for (; r < e.length;) { if (!this.isNot(e[r - 1]) && this.isProp(e[r]) && this.isOr(e[r + 1])) { if (this.toRemove(e[r][0], t)) { e.splice(r, 2); continue } r += 2; continue } typeof e[r] == "object" && (e[r] = this.remove(e[r], t)), r += 1 } return e } cleanBrackets(e) { return e.map(t => typeof t != "object" ? t : t.length === 1 && typeof t[0] == "object" ? this.cleanBrackets(t[0]) : this.cleanBrackets(t)) } convert(e) { let t = [""]; for (let r of e) t.push([`${r.prop}: ${r.value}`]), t.push(" or "); return t[t.length - 1] = "", t } normalize(e) { if (typeof e != "object") return e; if (e = e.filter(t => t !== ""), typeof e[0] == "string") { let t = e[0].trim(); if (t.includes(":") || t === "selector" || t === "not selector") return [Ho.stringify(e)] } return e.map(t => this.normalize(t)) } add(e, t) { return e.map(r => { if (this.isProp(r)) { let s = this.prefixed(r[0]); return s.length > 1 ? this.convert(s) : r } return typeof r == "object" ? this.add(r, t) : r }) } process(e) { let t = Ho.parse(e.params); t = this.normalize(t), t = this.remove(t, e.params), t = this.add(t, e.params), t = this.cleanBrackets(t), e.params = Ho.stringify(t) } disabled(e) { if (!this.all.options.grid && (e.prop === "display" && e.value.includes("grid") || e.prop.includes("grid") || e.prop === "justify-items")) return !0; if (this.all.options.flexbox === !1) { if (e.prop === "display" && e.value.includes("flex")) return !0; let t = ["order", "justify-content", "align-items", "align-content"]; if (e.prop.includes("flex") || t.includes(e.prop)) return !0 } return !1 } }; dh.exports = ph }); var yh = w(($T, gh) => { l(); var mh = class { constructor(e, t) { this.prefix = t, this.prefixed = e.prefixed(this.prefix), this.regexp = e.regexp(this.prefix), this.prefixeds = e.possible().map(r => [e.prefixed(r), e.regexp(r)]), this.unprefixed = e.name, this.nameRegexp = e.regexp() } isHack(e) { let t = e.parent.index(e) + 1, r = e.parent.nodes; for (; t < r.length;) { let s = r[t].selector; if (!s) return !0; if (s.includes(this.unprefixed) && s.match(this.nameRegexp)) return !1; let n = !1; for (let [o, a] of this.prefixeds) if (s.includes(o) && s.match(a)) { n = !0; break } if (!n) return !0; t += 1 } return !0 } check(e) { return !(!e.selector.includes(this.prefixed) || !e.selector.match(this.regexp) || this.isHack(e)) } }; gh.exports = mh }); var _t = w((jT, bh) => { l(); var { list: $2 } = te(), j2 = yh(), U2 = kt(), V2 = je(), W2 = J(), wh = class extends U2 { constructor(e, t, r) { super(e, t, r); this.regexpCache = new Map } check(e) { return e.selector.includes(this.name) ? !!e.selector.match(this.regexp()) : !1 } prefixed(e) { return this.name.replace(/^(\W*)/, `$1${e}`) } regexp(e) { if (!this.regexpCache.has(e)) { let t = e ? this.prefixed(e) : this.name; this.regexpCache.set(e, new RegExp(`(^|[^:"'=])${W2.escapeRegexp(t)}`, "gi")) } return this.regexpCache.get(e) } possible() { return V2.prefixes() } prefixeds(e) { if (e._autoprefixerPrefixeds) { if (e._autoprefixerPrefixeds[this.name]) return e._autoprefixerPrefixeds } else e._autoprefixerPrefixeds = {}; let t = {}; if (e.selector.includes(",")) { let s = $2.comma(e.selector).filter(n => n.includes(this.name)); for (let n of this.possible()) t[n] = s.map(o => this.replace(o, n)).join(", ") } else for (let r of this.possible()) t[r] = this.replace(e.selector, r); return e._autoprefixerPrefixeds[this.name] = t, e._autoprefixerPrefixeds } already(e, t, r) { let s = e.parent.index(e) - 1; for (; s >= 0;) { let n = e.parent.nodes[s]; if (n.type !== "rule") return !1; let o = !1; for (let a in t[this.name]) { let f = t[this.name][a]; if (n.selector === f) { if (r === a) return !0; o = !0; break } } if (!o) return !1; s -= 1 } return !1 } replace(e, t) { return e.replace(this.regexp(), `$1${this.prefixed(t)}`) } add(e, t) { let r = this.prefixeds(e); if (this.already(e, r, t)) return; let s = this.clone(e, { selector: r[this.name][t] }); e.parent.insertBefore(e, s) } old(e) { return new j2(this, e) } }; bh.exports = wh }); var kh = w((UT, xh) => { l(); var G2 = kt(), vh = class extends G2 { add(e, t) { let r = t + e.name; if (e.parent.some(o => o.name === r && o.params === e.params)) return; let n = this.clone(e, { name: r }); return e.parent.insertBefore(e, n) } process(e) { let t = this.parentPrefix(e); for (let r of this.prefixes) (!t || t === r) && this.add(e, r) } }; xh.exports = vh }); var _h = w((VT, Sh) => { l(); var Y2 = _t(), Qo = class extends Y2 { prefixed(e) { return e === "-webkit-" ? ":-webkit-full-screen" : e === "-moz-" ? ":-moz-full-screen" : `:${e}fullscreen` } }; Qo.names = [":fullscreen"]; Sh.exports = Qo }); var Ah = w((WT, Ch) => { l(); var H2 = _t(), Jo = class extends H2 { possible() { return super.possible().concat(["-moz- old", "-ms- old"]) } prefixed(e) { return e === "-webkit-" ? "::-webkit-input-placeholder" : e === "-ms-" ? "::-ms-input-placeholder" : e === "-ms- old" ? ":-ms-input-placeholder" : e === "-moz- old" ? ":-moz-placeholder" : `::${e}placeholder` } }; Jo.names = ["::placeholder"]; Ch.exports = Jo }); var Oh = w((GT, Eh) => { l(); var Q2 = _t(), Xo = class extends Q2 { prefixed(e) { return e === "-ms-" ? ":-ms-input-placeholder" : `:${e}placeholder-shown` } }; Xo.names = [":placeholder-shown"]; Eh.exports = Xo }); var Ph = w((YT, Th) => { l(); var J2 = _t(), X2 = J(), Ko = class extends J2 { constructor(e, t, r) { super(e, t, r); this.prefixes && (this.prefixes = X2.uniq(this.prefixes.map(s => "-webkit-"))) } prefixed(e) { return e === "-webkit-" ? "::-webkit-file-upload-button" : `::${e}file-selector-button` } }; Ko.names = ["::file-selector-button"]; Th.exports = Ko }); var Z = w((HT, Dh) => { l(); Dh.exports = function (i) { let e; return i === "-webkit- 2009" || i === "-moz-" ? e = 2009 : i === "-ms-" ? e = 2012 : i === "-webkit-" && (e = "final"), i === "-webkit- 2009" && (i = "-webkit-"), [e, i] } }); var Mh = w((QT, Rh) => { l(); var qh = te().list, Ih = Z(), K2 = D(), Ct = class extends K2 { prefixed(e, t) { let r; return [r, t] = Ih(t), r === 2009 ? t + "box-flex" : super.prefixed(e, t) } normalize() { return "flex" } set(e, t) { let r = Ih(t)[0]; if (r === 2009) return e.value = qh.space(e.value)[0], e.value = Ct.oldValues[e.value] || e.value, super.set(e, t); if (r === 2012) { let s = qh.space(e.value); s.length === 3 && s[2] === "0" && (e.value = s.slice(0, 2).concat("0px").join(" ")) } return super.set(e, t) } }; Ct.names = ["flex", "box-flex"]; Ct.oldValues = { auto: "1", none: "0" }; Rh.exports = Ct }); var Bh = w((JT, Lh) => { l(); var Nh = Z(), Z2 = D(), Zo = class extends Z2 { prefixed(e, t) { let r; return [r, t] = Nh(t), r === 2009 ? t + "box-ordinal-group" : r === 2012 ? t + "flex-order" : super.prefixed(e, t) } normalize() { return "order" } set(e, t) { return Nh(t)[0] === 2009 && /\d/.test(e.value) ? (e.value = (parseInt(e.value) + 1).toString(), super.set(e, t)) : super.set(e, t) } }; Zo.names = ["order", "flex-order", "box-ordinal-group"]; Lh.exports = Zo }); var zh = w((XT, Fh) => { l(); var eS = D(), ea = class extends eS { check(e) { let t = e.value; return !t.toLowerCase().includes("alpha(") && !t.includes("DXImageTransform.Microsoft") && !t.includes("data:image/svg+xml") } }; ea.names = ["filter"]; Fh.exports = ea }); var jh = w((KT, $h) => { l(); var tS = D(), ta = class extends tS { insert(e, t, r, s) { if (t !== "-ms-") return super.insert(e, t, r); let n = this.clone(e), o = e.prop.replace(/end$/, "start"), a = t + e.prop.replace(/end$/, "span"); if (!e.parent.some(f => f.prop === a)) { if (n.prop = a, e.value.includes("span")) n.value = e.value.replace(/span\s/i, ""); else { let f; if (e.parent.walkDecls(o, c => { f = c }), f) { let c = Number(e.value) - Number(f.value) + ""; n.value = c } else e.warn(s, `Can not prefix ${e.prop} (${o} is not found)`) } e.cloneBefore(n) } } }; ta.names = ["grid-row-end", "grid-column-end"]; $h.exports = ta }); var Vh = w((ZT, Uh) => { l(); var rS = D(), ra = class extends rS { check(e) { return !e.value.split(/\s+/).some(t => { let r = t.toLowerCase(); return r === "reverse" || r === "alternate-reverse" }) } }; ra.names = ["animation", "animation-direction"]; Uh.exports = ra }); var Gh = w((eP, Wh) => { l(); var iS = Z(), sS = D(), ia = class extends sS { insert(e, t, r) { let s; if ([s, t] = iS(t), s !== 2009) return super.insert(e, t, r); let n = e.value.split(/\s+/).filter(p => p !== "wrap" && p !== "nowrap" && "wrap-reverse"); if (n.length === 0 || e.parent.some(p => p.prop === t + "box-orient" || p.prop === t + "box-direction")) return; let a = n[0], f = a.includes("row") ? "horizontal" : "vertical", c = a.includes("reverse") ? "reverse" : "normal", u = this.clone(e); return u.prop = t + "box-orient", u.value = f, this.needCascade(e) && (u.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, u), u = this.clone(e), u.prop = t + "box-direction", u.value = c, this.needCascade(e) && (u.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, u) } }; ia.names = ["flex-flow", "box-direction", "box-orient"]; Wh.exports = ia }); var Hh = w((tP, Yh) => { l(); var nS = Z(), oS = D(), sa = class extends oS { normalize() { return "flex" } prefixed(e, t) { let r; return [r, t] = nS(t), r === 2009 ? t + "box-flex" : r === 2012 ? t + "flex-positive" : super.prefixed(e, t) } }; sa.names = ["flex-grow", "flex-positive"]; Yh.exports = sa }); var Jh = w((rP, Qh) => { l(); var aS = Z(), lS = D(), na = class extends lS { set(e, t) { if (aS(t)[0] !== 2009) return super.set(e, t) } }; na.names = ["flex-wrap"]; Qh.exports = na }); var Kh = w((iP, Xh) => { l(); var uS = D(), At = Ue(), oa = class extends uS { insert(e, t, r, s) { if (t !== "-ms-") return super.insert(e, t, r); let n = At.parse(e), [o, a] = At.translate(n, 0, 2), [f, c] = At.translate(n, 1, 3);[["grid-row", o], ["grid-row-span", a], ["grid-column", f], ["grid-column-span", c]].forEach(([u, p]) => { At.insertDecl(e, u, p) }), At.warnTemplateSelectorNotFound(e, s), At.warnIfGridRowColumnExists(e, s) } }; oa.names = ["grid-area"]; Xh.exports = oa }); var em = w((sP, Zh) => { l(); var fS = D(), Rr = Ue(), aa = class extends fS { insert(e, t, r) { if (t !== "-ms-") return super.insert(e, t, r); if (e.parent.some(o => o.prop === "-ms-grid-row-align")) return; let [[s, n]] = Rr.parse(e); n ? (Rr.insertDecl(e, "grid-row-align", s), Rr.insertDecl(e, "grid-column-align", n)) : (Rr.insertDecl(e, "grid-row-align", s), Rr.insertDecl(e, "grid-column-align", s)) } }; aa.names = ["place-self"]; Zh.exports = aa }); var rm = w((nP, tm) => { l(); var cS = D(), la = class extends cS { check(e) { let t = e.value; return !t.includes("/") || t.includes("span") } normalize(e) { return e.replace("-start", "") } prefixed(e, t) { let r = super.prefixed(e, t); return t === "-ms-" && (r = r.replace("-start", "")), r } }; la.names = ["grid-row-start", "grid-column-start"]; tm.exports = la }); var nm = w((oP, sm) => { l(); var im = Z(), pS = D(), Et = class extends pS { check(e) { return e.parent && !e.parent.some(t => t.prop && t.prop.startsWith("grid-")) } prefixed(e, t) { let r; return [r, t] = im(t), r === 2012 ? t + "flex-item-align" : super.prefixed(e, t) } normalize() { return "align-self" } set(e, t) { let r = im(t)[0]; if (r === 2012) return e.value = Et.oldValues[e.value] || e.value, super.set(e, t); if (r === "final") return super.set(e, t) } }; Et.names = ["align-self", "flex-item-align"]; Et.oldValues = { "flex-end": "end", "flex-start": "start" }; sm.exports = Et }); var am = w((aP, om) => { l(); var dS = D(), hS = J(), ua = class extends dS { constructor(e, t, r) { super(e, t, r); this.prefixes && (this.prefixes = hS.uniq(this.prefixes.map(s => s === "-ms-" ? "-webkit-" : s))) } }; ua.names = ["appearance"]; om.exports = ua }); var fm = w((lP, um) => { l(); var lm = Z(), mS = D(), fa = class extends mS { normalize() { return "flex-basis" } prefixed(e, t) { let r; return [r, t] = lm(t), r === 2012 ? t + "flex-preferred-size" : super.prefixed(e, t) } set(e, t) { let r; if ([r, t] = lm(t), r === 2012 || r === "final") return super.set(e, t) } }; fa.names = ["flex-basis", "flex-preferred-size"]; um.exports = fa }); var pm = w((uP, cm) => { l(); var gS = D(), ca = class extends gS { normalize() { return this.name.replace("box-image", "border") } prefixed(e, t) { let r = super.prefixed(e, t); return t === "-webkit-" && (r = r.replace("border", "box-image")), r } }; ca.names = ["mask-border", "mask-border-source", "mask-border-slice", "mask-border-width", "mask-border-outset", "mask-border-repeat", "mask-box-image", "mask-box-image-source", "mask-box-image-slice", "mask-box-image-width", "mask-box-image-outset", "mask-box-image-repeat"]; cm.exports = ca }); var hm = w((fP, dm) => { l(); var yS = D(), Se = class extends yS { insert(e, t, r) { let s = e.prop === "mask-composite", n; s ? n = e.value.split(",") : n = e.value.match(Se.regexp) || [], n = n.map(c => c.trim()).filter(c => c); let o = n.length, a; if (o && (a = this.clone(e), a.value = n.map(c => Se.oldValues[c] || c).join(", "), n.includes("intersect") && (a.value += ", xor"), a.prop = t + "mask-composite"), s) return o ? (this.needCascade(e) && (a.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, a)) : void 0; let f = this.clone(e); return f.prop = t + f.prop, o && (f.value = f.value.replace(Se.regexp, "")), this.needCascade(e) && (f.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, f), o ? (this.needCascade(e) && (a.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, a)) : e } }; Se.names = ["mask", "mask-composite"]; Se.oldValues = { add: "source-over", subtract: "source-out", intersect: "source-in", exclude: "xor" }; Se.regexp = new RegExp(`\\s+(${Object.keys(Se.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`, "ig"); dm.exports = Se }); var ym = w((cP, gm) => { l(); var mm = Z(), wS = D(), Ot = class extends wS { prefixed(e, t) { let r; return [r, t] = mm(t), r === 2009 ? t + "box-align" : r === 2012 ? t + "flex-align" : super.prefixed(e, t) } normalize() { return "align-items" } set(e, t) { let r = mm(t)[0]; return (r === 2009 || r === 2012) && (e.value = Ot.oldValues[e.value] || e.value), super.set(e, t) } }; Ot.names = ["align-items", "flex-align", "box-align"]; Ot.oldValues = { "flex-end": "end", "flex-start": "start" }; gm.exports = Ot }); var bm = w((pP, wm) => { l(); var bS = D(), pa = class extends bS { set(e, t) { return t === "-ms-" && e.value === "contain" && (e.value = "element"), super.set(e, t) } insert(e, t, r) { if (!(e.value === "all" && t === "-ms-")) return super.insert(e, t, r) } }; pa.names = ["user-select"]; wm.exports = pa }); var km = w((dP, xm) => { l(); var vm = Z(), vS = D(), da = class extends vS { normalize() { return "flex-shrink" } prefixed(e, t) { let r; return [r, t] = vm(t), r === 2012 ? t + "flex-negative" : super.prefixed(e, t) } set(e, t) { let r; if ([r, t] = vm(t), r === 2012 || r === "final") return super.set(e, t) } }; da.names = ["flex-shrink", "flex-negative"]; xm.exports = da }); var _m = w((hP, Sm) => { l(); var xS = D(), ha = class extends xS { prefixed(e, t) { return `${t}column-${e}` } normalize(e) { return e.includes("inside") ? "break-inside" : e.includes("before") ? "break-before" : "break-after" } set(e, t) { return (e.prop === "break-inside" && e.value === "avoid-column" || e.value === "avoid-page") && (e.value = "avoid"), super.set(e, t) } insert(e, t, r) { if (e.prop !== "break-inside") return super.insert(e, t, r); if (!(/region/i.test(e.value) || /page/i.test(e.value))) return super.insert(e, t, r) } }; ha.names = ["break-inside", "page-break-inside", "column-break-inside", "break-before", "page-break-before", "column-break-before", "break-after", "page-break-after", "column-break-after"]; Sm.exports = ha }); var Am = w((mP, Cm) => { l(); var kS = D(), ma = class extends kS { prefixed(e, t) { return t + "print-color-adjust" } normalize() { return "color-adjust" } }; ma.names = ["color-adjust", "print-color-adjust"]; Cm.exports = ma }); var Om = w((gP, Em) => { l(); var SS = D(), Tt = class extends SS { insert(e, t, r) { if (t === "-ms-") { let s = this.set(this.clone(e), t); this.needCascade(e) && (s.raws.before = this.calcBefore(r, e, t)); let n = "ltr"; return e.parent.nodes.forEach(o => { o.prop === "direction" && (o.value === "rtl" || o.value === "ltr") && (n = o.value) }), s.value = Tt.msValues[n][e.value] || e.value, e.parent.insertBefore(e, s) } return super.insert(e, t, r) } }; Tt.names = ["writing-mode"]; Tt.msValues = { ltr: { "horizontal-tb": "lr-tb", "vertical-rl": "tb-rl", "vertical-lr": "tb-lr" }, rtl: { "horizontal-tb": "rl-tb", "vertical-rl": "bt-rl", "vertical-lr": "bt-lr" } }; Em.exports = Tt }); var Pm = w((yP, Tm) => { l(); var _S = D(), ga = class extends _S { set(e, t) { return e.value = e.value.replace(/\s+fill(\s)/, "$1"), super.set(e, t) } }; ga.names = ["border-image"]; Tm.exports = ga }); var Im = w((wP, qm) => { l(); var Dm = Z(), CS = D(), Pt = class extends CS { prefixed(e, t) { let r; return [r, t] = Dm(t), r === 2012 ? t + "flex-line-pack" : super.prefixed(e, t) } normalize() { return "align-content" } set(e, t) { let r = Dm(t)[0]; if (r === 2012) return e.value = Pt.oldValues[e.value] || e.value, super.set(e, t); if (r === "final") return super.set(e, t) } }; Pt.names = ["align-content", "flex-line-pack"]; Pt.oldValues = { "flex-end": "end", "flex-start": "start", "space-between": "justify", "space-around": "distribute" }; qm.exports = Pt }); var Mm = w((bP, Rm) => { l(); var AS = D(), ae = class extends AS { prefixed(e, t) { return t === "-moz-" ? t + (ae.toMozilla[e] || e) : super.prefixed(e, t) } normalize(e) { return ae.toNormal[e] || e } }; ae.names = ["border-radius"]; ae.toMozilla = {}; ae.toNormal = {}; for (let i of ["top", "bottom"]) for (let e of ["left", "right"]) { let t = `border-${i}-${e}-radius`, r = `border-radius-${i}${e}`; ae.names.push(t), ae.names.push(r), ae.toMozilla[t] = r, ae.toNormal[r] = t } Rm.exports = ae }); var Lm = w((vP, Nm) => { l(); var ES = D(), ya = class extends ES { prefixed(e, t) { return e.includes("-start") ? t + e.replace("-block-start", "-before") : t + e.replace("-block-end", "-after") } normalize(e) { return e.includes("-before") ? e.replace("-before", "-block-start") : e.replace("-after", "-block-end") } }; ya.names = ["border-block-start", "border-block-end", "margin-block-start", "margin-block-end", "padding-block-start", "padding-block-end", "border-before", "border-after", "margin-before", "margin-after", "padding-before", "padding-after"]; Nm.exports = ya }); var Fm = w((xP, Bm) => { l(); var OS = D(), { parseTemplate: TS, warnMissedAreas: PS, getGridGap: DS, warnGridGap: qS, inheritGridGap: IS } = Ue(), wa = class extends OS { insert(e, t, r, s) { if (t !== "-ms-") return super.insert(e, t, r); if (e.parent.some(g => g.prop === "-ms-grid-rows")) return; let n = DS(e), o = IS(e, n), { rows: a, columns: f, areas: c } = TS({ decl: e, gap: o || n }), u = Object.keys(c).length > 0, p = Boolean(a), d = Boolean(f); return qS({ gap: n, hasColumns: d, decl: e, result: s }), PS(c, e, s), (p && d || u) && e.cloneBefore({ prop: "-ms-grid-rows", value: a, raws: {} }), d && e.cloneBefore({ prop: "-ms-grid-columns", value: f, raws: {} }), e } }; wa.names = ["grid-template"]; Bm.exports = wa }); var $m = w((kP, zm) => { l(); var RS = D(), ba = class extends RS { prefixed(e, t) { return t + e.replace("-inline", "") } normalize(e) { return e.replace(/(margin|padding|border)-(start|end)/, "$1-inline-$2") } }; ba.names = ["border-inline-start", "border-inline-end", "margin-inline-start", "margin-inline-end", "padding-inline-start", "padding-inline-end", "border-start", "border-end", "margin-start", "margin-end", "padding-start", "padding-end"]; zm.exports = ba }); var Um = w((SP, jm) => { l(); var MS = D(), va = class extends MS { check(e) { return !e.value.includes("flex-") && e.value !== "baseline" } prefixed(e, t) { return t + "grid-row-align" } normalize() { return "align-self" } }; va.names = ["grid-row-align"]; jm.exports = va }); var Wm = w((_P, Vm) => { l(); var NS = D(), Dt = class extends NS { keyframeParents(e) { let { parent: t } = e; for (; t;) { if (t.type === "atrule" && t.name === "keyframes") return !0; ({ parent: t } = t) } return !1 } contain3d(e) { if (e.prop === "transform-origin") return !1; for (let t of Dt.functions3d) if (e.value.includes(`${t}(`)) return !0; return !1 } set(e, t) { return e = super.set(e, t), t === "-ms-" && (e.value = e.value.replace(/rotatez/gi, "rotate")), e } insert(e, t, r) { if (t === "-ms-") { if (!this.contain3d(e) && !this.keyframeParents(e)) return super.insert(e, t, r) } else if (t === "-o-") { if (!this.contain3d(e)) return super.insert(e, t, r) } else return super.insert(e, t, r) } }; Dt.names = ["transform", "transform-origin"]; Dt.functions3d = ["matrix3d", "translate3d", "translateZ", "scale3d", "scaleZ", "rotate3d", "rotateX", "rotateY", "perspective"]; Vm.exports = Dt }); var Hm = w((CP, Ym) => { l(); var Gm = Z(), LS = D(), xa = class extends LS { normalize() { return "flex-direction" } insert(e, t, r) { let s; if ([s, t] = Gm(t), s !== 2009) return super.insert(e, t, r); if (e.parent.some(u => u.prop === t + "box-orient" || u.prop === t + "box-direction")) return; let o = e.value, a, f; o === "inherit" || o === "initial" || o === "unset" ? (a = o, f = o) : (a = o.includes("row") ? "horizontal" : "vertical", f = o.includes("reverse") ? "reverse" : "normal"); let c = this.clone(e); return c.prop = t + "box-orient", c.value = a, this.needCascade(e) && (c.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, c), c = this.clone(e), c.prop = t + "box-direction", c.value = f, this.needCascade(e) && (c.raws.before = this.calcBefore(r, e, t)), e.parent.insertBefore(e, c) } old(e, t) { let r; return [r, t] = Gm(t), r === 2009 ? [t + "box-orient", t + "box-direction"] : super.old(e, t) } }; xa.names = ["flex-direction", "box-direction", "box-orient"]; Ym.exports = xa }); var Jm = w((AP, Qm) => { l(); var BS = D(), ka = class extends BS { check(e) { return e.value === "pixelated" } prefixed(e, t) { return t === "-ms-" ? "-ms-interpolation-mode" : super.prefixed(e, t) } set(e, t) { return t !== "-ms-" ? super.set(e, t) : (e.prop = "-ms-interpolation-mode", e.value = "nearest-neighbor", e) } normalize() { return "image-rendering" } process(e, t) { return super.process(e, t) } }; ka.names = ["image-rendering", "interpolation-mode"]; Qm.exports = ka }); var Km = w((EP, Xm) => { l(); var FS = D(), zS = J(), Sa = class extends FS { constructor(e, t, r) { super(e, t, r); this.prefixes && (this.prefixes = zS.uniq(this.prefixes.map(s => s === "-ms-" ? "-webkit-" : s))) } }; Sa.names = ["backdrop-filter"]; Xm.exports = Sa }); var eg = w((OP, Zm) => { l(); var $S = D(), jS = J(), _a = class extends $S { constructor(e, t, r) { super(e, t, r); this.prefixes && (this.prefixes = jS.uniq(this.prefixes.map(s => s === "-ms-" ? "-webkit-" : s))) } check(e) { return e.value.toLowerCase() === "text" } }; _a.names = ["background-clip"]; Zm.exports = _a }); var rg = w((TP, tg) => { l(); var US = D(), VS = ["none", "underline", "overline", "line-through", "blink", "inherit", "initial", "unset"], Ca = class extends US { check(e) { return e.value.split(/\s+/).some(t => !VS.includes(t)) } }; Ca.names = ["text-decoration"]; tg.exports = Ca }); var ng = w((PP, sg) => { l(); var ig = Z(), WS = D(), qt = class extends WS { prefixed(e, t) { let r; return [r, t] = ig(t), r === 2009 ? t + "box-pack" : r === 2012 ? t + "flex-pack" : super.prefixed(e, t) } normalize() { return "justify-content" } set(e, t) { let r = ig(t)[0]; if (r === 2009 || r === 2012) { let s = qt.oldValues[e.value] || e.value; if (e.value = s, r !== 2009 || s !== "distribute") return super.set(e, t) } else if (r === "final") return super.set(e, t) } }; qt.names = ["justify-content", "flex-pack", "box-pack"]; qt.oldValues = { "flex-end": "end", "flex-start": "start", "space-between": "justify", "space-around": "distribute" }; sg.exports = qt }); var ag = w((DP, og) => { l(); var GS = D(), Aa = class extends GS { set(e, t) { let r = e.value.toLowerCase(); return t === "-webkit-" && !r.includes(" ") && r !== "contain" && r !== "cover" && (e.value = e.value + " " + e.value), super.set(e, t) } }; Aa.names = ["background-size"]; og.exports = Aa }); var ug = w((qP, lg) => { l(); var YS = D(), Ea = Ue(), Oa = class extends YS { insert(e, t, r) { if (t !== "-ms-") return super.insert(e, t, r); let s = Ea.parse(e), [n, o] = Ea.translate(s, 0, 1); s[0] && s[0].includes("span") && (o = s[0].join("").replace(/\D/g, "")), [[e.prop, n], [`${e.prop}-span`, o]].forEach(([f, c]) => { Ea.insertDecl(e, f, c) }) } }; Oa.names = ["grid-row", "grid-column"]; lg.exports = Oa }); var pg = w((IP, cg) => { l(); var HS = D(), { prefixTrackProp: fg, prefixTrackValue: QS, autoplaceGridItems: JS, getGridGap: XS, inheritGridGap: KS } = Ue(), ZS = Yo(), Ta = class extends HS { prefixed(e, t) { return t === "-ms-" ? fg({ prop: e, prefix: t }) : super.prefixed(e, t) } normalize(e) { return e.replace(/^grid-(rows|columns)/, "grid-template-$1") } insert(e, t, r, s) { if (t !== "-ms-") return super.insert(e, t, r); let { parent: n, prop: o, value: a } = e, f = o.includes("rows"), c = o.includes("columns"), u = n.some(S => S.prop === "grid-template" || S.prop === "grid-template-areas"); if (u && f) return !1; let p = new ZS({ options: {} }), d = p.gridStatus(n, s), g = XS(e); g = KS(e, g) || g; let y = f ? g.row : g.column; (d === "no-autoplace" || d === !0) && !u && (y = null); let x = QS({ value: a, gap: y }); e.cloneBefore({ prop: fg({ prop: o, prefix: t }), value: x }); let b = n.nodes.find(S => S.prop === "grid-auto-flow"), v = "row"; if (b && !p.disabled(b, s) && (v = b.value.trim()), d === "autoplace") { let S = n.nodes.find(P => P.prop === "grid-template-rows"); if (!S && u) return; if (!S && !u) { e.warn(s, "Autoplacement does not work without grid-template-rows property"); return } !n.nodes.find(P => P.prop === "grid-template-columns") && !u && e.warn(s, "Autoplacement does not work without grid-template-columns property"), c && !u && JS(e, s, g, v) } } }; Ta.names = ["grid-template-rows", "grid-template-columns", "grid-rows", "grid-columns"]; cg.exports = Ta }); var hg = w((RP, dg) => { l(); var e_ = D(), Pa = class extends e_ { check(e) { return !e.value.includes("flex-") && e.value !== "baseline" } prefixed(e, t) { return t + "grid-column-align" } normalize() { return "justify-self" } }; Pa.names = ["grid-column-align"]; dg.exports = Pa }); var gg = w((MP, mg) => { l(); var t_ = D(), Da = class extends t_ { prefixed(e, t) { return t + "scroll-chaining" } normalize() { return "overscroll-behavior" } set(e, t) { return e.value === "auto" ? e.value = "chained" : (e.value === "none" || e.value === "contain") && (e.value = "none"), super.set(e, t) } }; Da.names = ["overscroll-behavior", "scroll-chaining"]; mg.exports = Da }); var bg = w((NP, wg) => { l(); var r_ = D(), { parseGridAreas: i_, warnMissedAreas: s_, prefixTrackProp: n_, prefixTrackValue: yg, getGridGap: o_, warnGridGap: a_, inheritGridGap: l_ } = Ue(); function u_(i) { return i.trim().slice(1, -1).split(/["']\s*["']?/g) } var qa = class extends r_ { insert(e, t, r, s) { if (t !== "-ms-") return super.insert(e, t, r); let n = !1, o = !1, a = e.parent, f = o_(e); f = l_(e, f) || f, a.walkDecls(/-ms-grid-rows/, p => p.remove()), a.walkDecls(/grid-template-(rows|columns)/, p => { if (p.prop === "grid-template-rows") { o = !0; let { prop: d, value: g } = p; p.cloneBefore({ prop: n_({ prop: d, prefix: t }), value: yg({ value: g, gap: f.row }) }) } else n = !0 }); let c = u_(e.value); n && !o && f.row && c.length > 1 && e.cloneBefore({ prop: "-ms-grid-rows", value: yg({ value: `repeat(${c.length}, auto)`, gap: f.row }), raws: {} }), a_({ gap: f, hasColumns: n, decl: e, result: s }); let u = i_({ rows: c, gap: f }); return s_(u, e, s), e } }; qa.names = ["grid-template-areas"]; wg.exports = qa }); var xg = w((LP, vg) => { l(); var f_ = D(), Ia = class extends f_ { set(e, t) { return t === "-webkit-" && (e.value = e.value.replace(/\s*(right|left)\s*/i, "")), super.set(e, t) } }; Ia.names = ["text-emphasis-position"]; vg.exports = Ia }); var Sg = w((BP, kg) => { l(); var c_ = D(), Ra = class extends c_ { set(e, t) { return e.prop === "text-decoration-skip-ink" && e.value === "auto" ? (e.prop = t + "text-decoration-skip", e.value = "ink", e) : super.set(e, t) } }; Ra.names = ["text-decoration-skip-ink", "text-decoration-skip"]; kg.exports = Ra }); var Tg = w((FP, Og) => { l(); "use strict"; Og.exports = { wrap: _g, limit: Cg, validate: Ag, test: Ma, curry: p_, name: Eg }; function _g(i, e, t) { var r = e - i; return ((t - i) % r + r) % r + i } function Cg(i, e, t) { return Math.max(i, Math.min(e, t)) } function Ag(i, e, t, r, s) { if (!Ma(i, e, t, r, s)) throw new Error(t + " is outside of range [" + i + "," + e + ")"); return t } function Ma(i, e, t, r, s) { return !(t < i || t > e || s && t === e || r && t === i) } function Eg(i, e, t, r) { return (t ? "(" : "[") + i + "," + e + (r ? ")" : "]") } function p_(i, e, t, r) { var s = Eg.bind(null, i, e, t, r); return { wrap: _g.bind(null, i, e), limit: Cg.bind(null, i, e), validate: function (n) { return Ag(i, e, n, t, r) }, test: function (n) { return Ma(i, e, n, t, r) }, toString: s, name: s } } }); var qg = w((zP, Dg) => { l(); var Na = Dr(), d_ = Tg(), h_ = St(), m_ = oe(), g_ = J(), Pg = /top|left|right|bottom/gi, qe = class extends m_ { replace(e, t) { let r = Na(e); for (let s of r.nodes) if (s.type === "function" && s.value === this.name) if (s.nodes = this.newDirection(s.nodes), s.nodes = this.normalize(s.nodes), t === "-webkit- old") { if (!this.oldWebkit(s)) return !1 } else s.nodes = this.convertDirection(s.nodes), s.value = t + s.value; return r.toString() } replaceFirst(e, ...t) { return t.map(s => s === " " ? { type: "space", value: s } : { type: "word", value: s }).concat(e.slice(1)) } normalizeUnit(e, t) { return `${parseFloat(e) / t * 360}deg` } normalize(e) { if (!e[0]) return e; if (/-?\d+(.\d+)?grad/.test(e[0].value)) e[0].value = this.normalizeUnit(e[0].value, 400); else if (/-?\d+(.\d+)?rad/.test(e[0].value)) e[0].value = this.normalizeUnit(e[0].value, 2 * Math.PI); else if (/-?\d+(.\d+)?turn/.test(e[0].value)) e[0].value = this.normalizeUnit(e[0].value, 1); else if (e[0].value.includes("deg")) { let t = parseFloat(e[0].value); t = d_.wrap(0, 360, t), e[0].value = `${t}deg` } return e[0].value === "0deg" ? e = this.replaceFirst(e, "to", " ", "top") : e[0].value === "90deg" ? e = this.replaceFirst(e, "to", " ", "right") : e[0].value === "180deg" ? e = this.replaceFirst(e, "to", " ", "bottom") : e[0].value === "270deg" && (e = this.replaceFirst(e, "to", " ", "left")), e } newDirection(e) { if (e[0].value === "to" || (Pg.lastIndex = 0, !Pg.test(e[0].value))) return e; e.unshift({ type: "word", value: "to" }, { type: "space", value: " " }); for (let t = 2; t < e.length && e[t].type !== "div"; t++)e[t].type === "word" && (e[t].value = this.revertDirection(e[t].value)); return e } isRadial(e) { let t = "before"; for (let r of e) if (t === "before" && r.type === "space") t = "at"; else if (t === "at" && r.value === "at") t = "after"; else { if (t === "after" && r.type === "space") return !0; if (r.type === "div") break; t = "before" } return !1 } convertDirection(e) { return e.length > 0 && (e[0].value === "to" ? this.fixDirection(e) : e[0].value.includes("deg") ? this.fixAngle(e) : this.isRadial(e) && this.fixRadial(e)), e } fixDirection(e) { e.splice(0, 2); for (let t of e) { if (t.type === "div") break; t.type === "word" && (t.value = this.revertDirection(t.value)) } } fixAngle(e) { let t = e[0].value; t = parseFloat(t), t = Math.abs(450 - t) % 360, t = this.roundFloat(t, 3), e[0].value = `${t}deg` } fixRadial(e) { let t = [], r = [], s, n, o, a, f; for (a = 0; a < e.length - 2; a++)if (s = e[a], n = e[a + 1], o = e[a + 2], s.type === "space" && n.value === "at" && o.type === "space") { f = a + 3; break } else t.push(s); let c; for (a = f; a < e.length; a++)if (e[a].type === "div") { c = e[a]; break } else r.push(e[a]); e.splice(0, a, ...r, c, ...t) } revertDirection(e) { return qe.directions[e.toLowerCase()] || e } roundFloat(e, t) { return parseFloat(e.toFixed(t)) } oldWebkit(e) { let { nodes: t } = e, r = Na.stringify(e.nodes); if (this.name !== "linear-gradient" || t[0] && t[0].value.includes("deg") || r.includes("px") || r.includes("-corner") || r.includes("-side")) return !1; let s = [[]]; for (let n of t) s[s.length - 1].push(n), n.type === "div" && n.value === "," && s.push([]); this.oldDirection(s), this.colorStops(s), e.nodes = []; for (let n of s) e.nodes = e.nodes.concat(n); return e.nodes.unshift({ type: "word", value: "linear" }, this.cloneDiv(e.nodes)), e.value = "-webkit-gradient", !0 } oldDirection(e) { let t = this.cloneDiv(e[0]); if (e[0][0].value !== "to") return e.unshift([{ type: "word", value: qe.oldDirections.bottom }, t]); { let r = []; for (let n of e[0].slice(2)) n.type === "word" && r.push(n.value.toLowerCase()); r = r.join(" "); let s = qe.oldDirections[r] || r; return e[0] = [{ type: "word", value: s }, t], e[0] } } cloneDiv(e) { for (let t of e) if (t.type === "div" && t.value === ",") return t; return { type: "div", value: ",", after: " " } } colorStops(e) { let t = []; for (let r = 0; r < e.length; r++) { let s, n = e[r], o; if (r === 0) continue; let a = Na.stringify(n[0]); n[1] && n[1].type === "word" ? s = n[1].value : n[2] && n[2].type === "word" && (s = n[2].value); let f; r === 1 && (!s || s === "0%") ? f = `from(${a})` : r === e.length - 1 && (!s || s === "100%") ? f = `to(${a})` : s ? f = `color-stop(${s}, ${a})` : f = `color-stop(${a})`; let c = n[n.length - 1]; e[r] = [{ type: "word", value: f }], c.type === "div" && c.value === "," && (o = e[r].push(c)), t.push(o) } return t } old(e) { if (e === "-webkit-") { let t = this.name === "linear-gradient" ? "linear" : "radial", r = "-gradient", s = g_.regexp(`-webkit-(${t}-gradient|gradient\\(\\s*${t})`, !1); return new h_(this.name, e + this.name, r, s) } else return super.old(e) } add(e, t) { let r = e.prop; if (r.includes("mask")) { if (t === "-webkit-" || t === "-webkit- old") return super.add(e, t) } else if (r === "list-style" || r === "list-style-image" || r === "content") { if (t === "-webkit-" || t === "-webkit- old") return super.add(e, t) } else return super.add(e, t) } }; qe.names = ["linear-gradient", "repeating-linear-gradient", "radial-gradient", "repeating-radial-gradient"]; qe.directions = { top: "bottom", left: "right", bottom: "top", right: "left" }; qe.oldDirections = { top: "left bottom, left top", left: "right top, left top", bottom: "left top, left bottom", right: "left top, right top", "top right": "left bottom, right top", "top left": "right bottom, left top", "right top": "left bottom, right top", "right bottom": "left top, right bottom", "bottom right": "left top, right bottom", "bottom left": "right top, left bottom", "left top": "right bottom, left top", "left bottom": "right top, left bottom" }; Dg.exports = qe }); var Mg = w(($P, Rg) => { l(); var y_ = St(), w_ = oe(); function Ig(i) { return new RegExp(`(^|[\\s,(])(${i}($|[\\s),]))`, "gi") } var La = class extends w_ { regexp() { return this.regexpCache || (this.regexpCache = Ig(this.name)), this.regexpCache } isStretch() { return this.name === "stretch" || this.name === "fill" || this.name === "fill-available" } replace(e, t) { return t === "-moz-" && this.isStretch() ? e.replace(this.regexp(), "$1-moz-available$3") : t === "-webkit-" && this.isStretch() ? e.replace(this.regexp(), "$1-webkit-fill-available$3") : super.replace(e, t) } old(e) { let t = e + this.name; return this.isStretch() && (e === "-moz-" ? t = "-moz-available" : e === "-webkit-" && (t = "-webkit-fill-available")), new y_(this.name, t, t, Ig(t)) } add(e, t) { if (!(e.prop.includes("grid") && t !== "-webkit-")) return super.add(e, t) } }; La.names = ["max-content", "min-content", "fit-content", "fill", "fill-available", "stretch"]; Rg.exports = La }); var Bg = w((jP, Lg) => { l(); var Ng = St(), b_ = oe(), Ba = class extends b_ { replace(e, t) { return t === "-webkit-" ? e.replace(this.regexp(), "$1-webkit-optimize-contrast") : t === "-moz-" ? e.replace(this.regexp(), "$1-moz-crisp-edges") : super.replace(e, t) } old(e) { return e === "-webkit-" ? new Ng(this.name, "-webkit-optimize-contrast") : e === "-moz-" ? new Ng(this.name, "-moz-crisp-edges") : super.old(e) } }; Ba.names = ["pixelated"]; Lg.exports = Ba }); var zg = w((UP, Fg) => { l(); var v_ = oe(), Fa = class extends v_ { replace(e, t) { let r = super.replace(e, t); return t === "-webkit-" && (r = r.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, "url($1)$2")), r } }; Fa.names = ["image-set"]; Fg.exports = Fa }); var jg = w((VP, $g) => { l(); var x_ = te().list, k_ = oe(), za = class extends k_ { replace(e, t) { return x_.space(e).map(r => { if (r.slice(0, +this.name.length + 1) !== this.name + "(") return r; let s = r.lastIndexOf(")"), n = r.slice(s + 1), o = r.slice(this.name.length + 1, s); if (t === "-webkit-") { let a = o.match(/\d*.?\d+%?/); a ? (o = o.slice(a[0].length).trim(), o += `, ${a[0]}`) : o += ", 0.5" } return t + this.name + "(" + o + ")" + n }).join(" ") } }; za.names = ["cross-fade"]; $g.exports = za }); var Vg = w((WP, Ug) => { l(); var S_ = Z(), __ = St(), C_ = oe(), $a = class extends C_ { constructor(e, t) { super(e, t); e === "display-flex" && (this.name = "flex") } check(e) { return e.prop === "display" && e.value === this.name } prefixed(e) { let t, r; return [t, e] = S_(e), t === 2009 ? this.name === "flex" ? r = "box" : r = "inline-box" : t === 2012 ? this.name === "flex" ? r = "flexbox" : r = "inline-flexbox" : t === "final" && (r = this.name), e + r } replace(e, t) { return this.prefixed(t) } old(e) { let t = this.prefixed(e); if (!!t) return new __(this.name, t) } }; $a.names = ["display-flex", "inline-flex"]; Ug.exports = $a }); var Gg = w((GP, Wg) => { l(); var A_ = oe(), ja = class extends A_ { constructor(e, t) { super(e, t); e === "display-grid" && (this.name = "grid") } check(e) { return e.prop === "display" && e.value === this.name } }; ja.names = ["display-grid", "inline-grid"]; Wg.exports = ja }); var Hg = w((YP, Yg) => { l(); var E_ = oe(), Ua = class extends E_ { constructor(e, t) { super(e, t); e === "filter-function" && (this.name = "filter") } }; Ua.names = ["filter", "filter-function"]; Yg.exports = Ua }); var Kg = w((HP, Xg) => { l(); var Qg = Ir(), q = D(), Jg = Vd(), O_ = Qd(), T_ = Yo(), P_ = hh(), Va = je(), It = _t(), D_ = kh(), _e = oe(), Rt = J(), q_ = _h(), I_ = Ah(), R_ = Oh(), M_ = Ph(), N_ = Mh(), L_ = Bh(), B_ = zh(), F_ = jh(), z_ = Vh(), $_ = Gh(), j_ = Hh(), U_ = Jh(), V_ = Kh(), W_ = em(), G_ = rm(), Y_ = nm(), H_ = am(), Q_ = fm(), J_ = pm(), X_ = hm(), K_ = ym(), Z_ = bm(), eC = km(), tC = _m(), rC = Am(), iC = Om(), sC = Pm(), nC = Im(), oC = Mm(), aC = Lm(), lC = Fm(), uC = $m(), fC = Um(), cC = Wm(), pC = Hm(), dC = Jm(), hC = Km(), mC = eg(), gC = rg(), yC = ng(), wC = ag(), bC = ug(), vC = pg(), xC = hg(), kC = gg(), SC = bg(), _C = xg(), CC = Sg(), AC = qg(), EC = Mg(), OC = Bg(), TC = zg(), PC = jg(), DC = Vg(), qC = Gg(), IC = Hg(); It.hack(q_); It.hack(I_); It.hack(R_); It.hack(M_); q.hack(N_); q.hack(L_); q.hack(B_); q.hack(F_); q.hack(z_); q.hack($_); q.hack(j_); q.hack(U_); q.hack(V_); q.hack(W_); q.hack(G_); q.hack(Y_); q.hack(H_); q.hack(Q_); q.hack(J_); q.hack(X_); q.hack(K_); q.hack(Z_); q.hack(eC); q.hack(tC); q.hack(rC); q.hack(iC); q.hack(sC); q.hack(nC); q.hack(oC); q.hack(aC); q.hack(lC); q.hack(uC); q.hack(fC); q.hack(cC); q.hack(pC); q.hack(dC); q.hack(hC); q.hack(mC); q.hack(gC); q.hack(yC); q.hack(wC); q.hack(bC); q.hack(vC); q.hack(xC); q.hack(kC); q.hack(SC); q.hack(_C); q.hack(CC); _e.hack(AC); _e.hack(EC); _e.hack(OC); _e.hack(TC); _e.hack(PC); _e.hack(DC); _e.hack(qC); _e.hack(IC); var Wa = new Map, Mr = class { constructor(e, t, r = {}) { this.data = e, this.browsers = t, this.options = r, [this.add, this.remove] = this.preprocess(this.select(this.data)), this.transition = new O_(this), this.processor = new T_(this) } cleaner() { if (this.cleanerCache) return this.cleanerCache; if (this.browsers.selected.length) { let e = new Va(this.browsers.data, []); this.cleanerCache = new Mr(this.data, e, this.options) } else return this; return this.cleanerCache } select(e) { let t = { add: {}, remove: {} }; for (let r in e) { let s = e[r], n = s.browsers.map(f => { let c = f.split(" "); return { browser: `${c[0]} ${c[1]}`, note: c[2] } }), o = n.filter(f => f.note).map(f => `${this.browsers.prefix(f.browser)} ${f.note}`); o = Rt.uniq(o), n = n.filter(f => this.browsers.isSelected(f.browser)).map(f => { let c = this.browsers.prefix(f.browser); return f.note ? `${c} ${f.note}` : c }), n = this.sort(Rt.uniq(n)), this.options.flexbox === "no-2009" && (n = n.filter(f => !f.includes("2009"))); let a = s.browsers.map(f => this.browsers.prefix(f)); s.mistakes && (a = a.concat(s.mistakes)), a = a.concat(o), a = Rt.uniq(a), n.length ? (t.add[r] = n, n.length < a.length && (t.remove[r] = a.filter(f => !n.includes(f)))) : t.remove[r] = a } return t } sort(e) { return e.sort((t, r) => { let s = Rt.removeNote(t).length, n = Rt.removeNote(r).length; return s === n ? r.length - t.length : n - s }) } preprocess(e) { let t = { selectors: [], "@supports": new P_(Mr, this) }; for (let s in e.add) { let n = e.add[s]; if (s === "@keyframes" || s === "@viewport") t[s] = new D_(s, n, this); else if (s === "@resolution") t[s] = new Jg(s, n, this); else if (this.data[s].selector) t.selectors.push(It.load(s, n, this)); else { let o = this.data[s].props; if (o) { let a = _e.load(s, n, this); for (let f of o) t[f] || (t[f] = { values: [] }), t[f].values.push(a) } else { let a = t[s] && t[s].values || []; t[s] = q.load(s, n, this), t[s].values = a } } } let r = { selectors: [] }; for (let s in e.remove) { let n = e.remove[s]; if (this.data[s].selector) { let o = It.load(s, n); for (let a of n) r.selectors.push(o.old(a)) } else if (s === "@keyframes" || s === "@viewport") for (let o of n) { let a = `@${o}${s.slice(1)}`; r[a] = { remove: !0 } } else if (s === "@resolution") r[s] = new Jg(s, n, this); else { let o = this.data[s].props; if (o) { let a = _e.load(s, [], this); for (let f of n) { let c = a.old(f); if (c) for (let u of o) r[u] || (r[u] = {}), r[u].values || (r[u].values = []), r[u].values.push(c) } } else for (let a of n) { let f = this.decl(s).old(s, a); if (s === "align-self") { let c = t[s] && t[s].prefixes; if (c) { if (a === "-webkit- 2009" && c.includes("-webkit-")) continue; if (a === "-webkit-" && c.includes("-webkit- 2009")) continue } } for (let c of f) r[c] || (r[c] = {}), r[c].remove = !0 } } } return [t, r] } decl(e) { return Wa.has(e) || Wa.set(e, q.load(e)), Wa.get(e) } unprefixed(e) { let t = this.normalize(Qg.unprefixed(e)); return t === "flex-direction" && (t = "flex-flow"), t } normalize(e) { return this.decl(e).normalize(e) } prefixed(e, t) { return e = Qg.unprefixed(e), this.decl(e).prefixed(e, t) } values(e, t) { let r = this[e], s = r["*"] && r["*"].values, n = r[t] && r[t].values; return s && n ? Rt.uniq(s.concat(n)) : s || n || [] } group(e) { let t = e.parent, r = t.index(e), { length: s } = t.nodes, n = this.unprefixed(e.prop), o = (a, f) => { for (r += a; r >= 0 && r < s;) { let c = t.nodes[r]; if (c.type === "decl") { if (a === -1 && c.prop === n && !Va.withPrefix(c.value) || this.unprefixed(c.prop) !== n) break; if (f(c) === !0) return !0; if (a === 1 && c.prop === n && !Va.withPrefix(c.value)) break } r += a } return !1 }; return { up(a) { return o(-1, a) }, down(a) { return o(1, a) } } } }; Xg.exports = Mr }); var ey = w((QP, Zg) => { l(); Zg.exports = { "backface-visibility": { mistakes: ["-ms-", "-o-"], feature: "transforms3d", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1"] }, "backdrop-filter": { feature: "css-backdrop-filter", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1"] }, element: { props: ["background", "background-image", "border-image", "mask", "list-style", "list-style-image", "content", "mask-image"], feature: "css-element-function", browsers: ["firefox 89"] }, "user-select": { mistakes: ["-khtml-"], feature: "user-select-none", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1"] }, "background-clip": { feature: "background-clip-text", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, hyphens: { feature: "css-hyphens", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1"] }, ":fullscreen": { selector: !0, feature: "fullscreen", browsers: ["and_chr 92", "and_uc 12.12", "safari 14.1"] }, "::backdrop": { selector: !0, feature: "fullscreen", browsers: ["and_chr 92", "and_uc 12.12", "safari 14.1"] }, "::file-selector-button": { selector: !0, feature: "fullscreen", browsers: ["safari 14.1"] }, "tab-size": { feature: "css3-tabsize", browsers: ["firefox 89"] }, fill: { props: ["width", "min-width", "max-width", "height", "min-height", "max-height", "inline-size", "min-inline-size", "max-inline-size", "block-size", "min-block-size", "max-block-size", "grid", "grid-template", "grid-template-rows", "grid-template-columns", "grid-auto-columns", "grid-auto-rows"], feature: "intrinsic-width", browsers: ["and_chr 92", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, "fill-available": { props: ["width", "min-width", "max-width", "height", "min-height", "max-height", "inline-size", "min-inline-size", "max-inline-size", "block-size", "min-block-size", "max-block-size", "grid", "grid-template", "grid-template-rows", "grid-template-columns", "grid-auto-columns", "grid-auto-rows"], feature: "intrinsic-width", browsers: ["and_chr 92", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, stretch: { props: ["width", "min-width", "max-width", "height", "min-height", "max-height", "inline-size", "min-inline-size", "max-inline-size", "block-size", "min-block-size", "max-block-size", "grid", "grid-template", "grid-template-rows", "grid-template-columns", "grid-auto-columns", "grid-auto-rows"], feature: "intrinsic-width", browsers: ["firefox 89"] }, "fit-content": { props: ["width", "min-width", "max-width", "height", "min-height", "max-height", "inline-size", "min-inline-size", "max-inline-size", "block-size", "min-block-size", "max-block-size", "grid", "grid-template", "grid-template-rows", "grid-template-columns", "grid-auto-columns", "grid-auto-rows"], feature: "intrinsic-width", browsers: ["firefox 89"] }, "text-decoration-style": { feature: "text-decoration", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "text-decoration-color": { feature: "text-decoration", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "text-decoration-line": { feature: "text-decoration", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "text-decoration": { feature: "text-decoration", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "text-decoration-skip": { feature: "text-decoration", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "text-decoration-skip-ink": { feature: "text-decoration", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "text-size-adjust": { feature: "text-size-adjust", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7"] }, "mask-clip": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-composite": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-image": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-origin": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-repeat": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-border-repeat": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-border-source": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, mask: { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-position": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-size": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-border": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-border-outset": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-border-width": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "mask-border-slice": { feature: "css-masks", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "clip-path": { feature: "css-clip-path", browsers: ["and_uc 12.12", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "box-decoration-break": { feature: "css-boxdecorationbreak", browsers: ["and_chr 92", "chrome 91", "chrome 92", "edge 91", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "@resolution": { feature: "css-media-resolution", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1"] }, "border-inline-start": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "border-inline-end": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "margin-inline-start": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "margin-inline-end": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "padding-inline-start": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "padding-inline-end": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "border-block-start": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "border-block-end": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "margin-block-start": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "margin-block-end": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "padding-block-start": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, "padding-block-end": { feature: "css-logical-props", browsers: ["and_uc 12.12"] }, appearance: { feature: "css-appearance", browsers: ["and_uc 12.12", "ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1", "samsung 14.0"] }, "image-set": { props: ["background", "background-image", "border-image", "cursor", "mask", "mask-image", "list-style", "list-style-image", "content"], feature: "css-image-set", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, "cross-fade": { props: ["background", "background-image", "border-image", "mask", "list-style", "list-style-image", "content", "mask-image"], feature: "css-cross-fade", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, "text-emphasis": { feature: "text-emphasis", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, "text-emphasis-position": { feature: "text-emphasis", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, "text-emphasis-style": { feature: "text-emphasis", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, "text-emphasis-color": { feature: "text-emphasis", browsers: ["and_chr 92", "and_uc 12.12", "chrome 91", "chrome 92", "edge 91", "samsung 14.0"] }, ":any-link": { selector: !0, feature: "css-any-link", browsers: ["and_uc 12.12"] }, isolate: { props: ["unicode-bidi"], feature: "css-unicode-bidi", browsers: ["ios_saf 14.0-14.4", "ios_saf 14.5-14.7", "safari 14.1"] }, "color-adjust": { feature: "css-color-adjust", browsers: ["chrome 91", "chrome 92", "edge 91", "safari 14.1"] } } }); var ry = w((JP, ty) => { l(); ty.exports = {} }); var oy = w((XP, ny) => {
l(); var RC = jo(), { agents: MC } = (is(), rs), Ga = Pd(), NC = je(), LC = Kg(), BC = ey(), FC = ry(), iy = { browsers: MC, prefixes: BC }, sy = `
Replace Autoprefixer \`browsers\` option to Browserslist config.
Use \`browserslist\` key in \`package.json\` or \`.browserslistrc\` file.
Using \`browsers\` option can cause errors. Browserslist config can
be used for Babel, Autoprefixer, postcss-normalize and other tools.
If you really need to use option, rename it to \`overrideBrowserslist\`.
Learn more at:
https://github.com/browserslist/browserslist#readme
https://twitter.com/browserslist
`; function zC(i) { return Object.prototype.toString.apply(i) === "[object Object]" } var Ya = new Map; function $C(i, e) {
e.browsers.selected.length !== 0 && (e.add.selectors.length > 0 || Object.keys(e.add).length > 2 || i.warn(`Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore.
Check your Browserslist config to be sure that your targets are set up correctly.
Learn more at:
https://github.com/postcss/autoprefixer#readme
https://github.com/browserslist/browserslist#readme
`))
} ny.exports = Mt; function Mt(...i) { let e; if (i.length === 1 && zC(i[0]) ? (e = i[0], i = void 0) : i.length === 0 || i.length === 1 && !i[0] ? i = void 0 : i.length <= 2 && (Array.isArray(i[0]) || !i[0]) ? (e = i[1], i = i[0]) : typeof i[i.length - 1] == "object" && (e = i.pop()), e || (e = {}), e.browser) throw new Error("Change `browser` option to `overrideBrowserslist` in Autoprefixer"); if (e.browserslist) throw new Error("Change `browserslist` option to `overrideBrowserslist` in Autoprefixer"); e.overrideBrowserslist ? i = e.overrideBrowserslist : e.browsers && (typeof console != "undefined" && console.warn && (Ga.red ? console.warn(Ga.red(sy.replace(/`[^`]+`/g, s => Ga.yellow(s.slice(1, -1))))) : console.warn(sy)), i = e.browsers); let t = { ignoreUnknownVersions: e.ignoreUnknownVersions, stats: e.stats, env: e.env }; function r(s) { let n = iy, o = new NC(n.browsers, i, s, t), a = o.selected.join(", ") + JSON.stringify(e); return Ya.has(a) || Ya.set(a, new LC(n.prefixes, o, e)), Ya.get(a) } return { postcssPlugin: "autoprefixer", prepare(s) { let n = r({ from: s.opts.from, env: e.env }); return { OnceExit(o) { $C(s, n), e.remove !== !1 && n.processor.remove(o, s), e.add !== !1 && n.processor.add(o, s) } } }, info(s) { return s = s || {}, s.from = s.from || h.cwd(), FC(r(s)) }, options: e, browsers: i } } Mt.postcss = !0; Mt.data = iy; Mt.defaults = RC.defaults; Mt.info = () => Mt().info()
}); var ay = {}; le(ay, { default: () => jC }); var jC, ly = _(() => { l(); jC = [] }); var fy = {}; le(fy, { default: () => UC }); var uy, UC, cy = _(() => { l(); Ur(); uy = V(Lt()), UC = Re(uy.default.theme) }); var dy = {}; le(dy, { default: () => VC }); var py, VC, hy = _(() => { l(); Ur(); py = V(Lt()), VC = Re(py.default) }); function my(i, e) { return { handler: i, config: e } } var gy, yy = _(() => { l(); my.withOptions = function (i, e = () => ({})) { let t = function (r) { return { __options: r, handler: i(r), config: e(r) } }; return t.__isOptionsFunction = !0, t.__pluginFunction = i, t.__configFunction = e, t }; gy = my }); var wy = {}; le(wy, { default: () => WC }); var WC, by = _(() => { l(); yy(); WC = gy }); l(); "use strict"; var GC = Ie(Od()), YC = Ie(te()), HC = Ie(oy()), QC = Ie((ly(), ay)), JC = Ie((cy(), fy)), XC = Ie((hy(), dy)), KC = Ie((hs(), yl)), ZC = Ie((by(), wy)), eA = Ie((ys(), Pl)); function Ie(i) { return i && i.__esModule ? i : { default: i } } console.warn("cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation"); var ns = "tailwind", Ha = "text/tailwindcss", vy = "/template.html", rt, xy = !0, ky = 0, Qa = new Set, Ja, Sy = "", _y = (i = !1) => ({ get(e, t) { return (!i || t === "config") && typeof e[t] == "object" && e[t] !== null ? new Proxy(e[t], _y()) : e[t] }, set(e, t, r) { return e[t] = r, (!i || t === "config") && Xa(!0), !0 } }); window[ns] = new Proxy({ config: {}, defaultTheme: JC.default, defaultConfig: XC.default, colors: KC.default, plugin: ZC.default, resolveConfig: eA.default }, _y(!0)); function Cy(i) { Ja.observe(i, { attributes: !0, attributeFilter: ["type"], characterData: !0, subtree: !0, childList: !0 }) } new MutationObserver(async i => { let e = !1; if (!Ja) { Ja = new MutationObserver(async () => await Xa(!0)); for (let t of document.querySelectorAll(`style[type="${Ha}"]`)) Cy(t) } for (let t of i) for (let r of t.addedNodes) r.nodeType === 1 && r.tagName === "STYLE" && r.getAttribute("type") === Ha && (Cy(r), e = !0); await Xa(e) }).observe(document.documentElement, { attributes: !0, attributeFilter: ["class"], childList: !0, subtree: !0 }); async function Xa(i = !1) { i && (ky++, Qa.clear()); let e = ""; for (let r of document.querySelectorAll(`style[type="${Ha}"]`)) e += r.textContent; let t = new Set; for (let r of document.querySelectorAll("[class]")) for (let s of r.classList) Qa.has(s) || t.add(s); if (document.body && (xy || t.size > 0 || e !== Sy || !rt || !rt.isConnected)) { for (let s of t) Qa.add(s); xy = !1, Sy = e, self[vy] = Array.from(t).join(" "); let r = (0, YC.default)([(0, GC.default)({ ...window[ns].config, _hash: ky, content: [vy], plugins: [...QC.default, ...Array.isArray(window[ns].config.plugins) ? window[ns].config.plugins : []] }), (0, HC.default)({ remove: !1 })]).process(`@tailwind base;@tailwind components;@tailwind utilities;${e}`).css; (!rt || !rt.isConnected) && (rt = document.createElement("style"), document.head.append(rt)), rt.textContent = r } }
})();
/*! https://mths.be/cssesc v3.0.0 by @mathias */
</script>
<script src="https://cdn.jsdelivr.net/npm/apexcharts@3/dist/apexcharts.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/canvg@3/lib/umd.min.js"></script>
<script type>
/* Khanalytics Data */
var hotlistData = {"scratchpads":[{"thumb":"/computer-programming/to-the-world-ill-never-know/5482250192863232/4685759312347136.png","title":"to the world i'll never know","url":"https://www.khanacademy.org/computer-programming/to-the-world-ill-never-know/5482250192863232","created":"2022-02-26T21:46:06Z","sumVotesIncremented":73,"flaggedByUser":false,"authorKaid":"kaid_890328369205205180299809","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6vcLeCQw","translatedTitle":"to the world i'll never know","spinoffCount":3,"authorNickname":"ami-ari"},{"thumb":"/computer-programming/forest-stay-focused/5091114164994048/6441649317134336.png","title":"Forest: Stay Focused","url":"https://www.khanacademy.org/computer-programming/forest-stay-focused/5091114164994048","created":"2022-02-28T04:55:38Z","sumVotesIncremented":47,"flaggedByUser":false,"authorKaid":"kaid_19721081897200672399859","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa9sqFCQw","translatedTitle":"Forest: Stay Focused","spinoffCount":1,"authorNickname":"21262"},{"thumb":"/computer-programming/its-my-birthday/6648918197714944/5684792193499136.png","title":"it's my birthday!","url":"https://www.khanacademy.org/computer-programming/its-my-birthday/6648918197714944","created":"2022-02-27T16:30:25Z","sumVotesIncremented":73,"flaggedByUser":false,"authorKaid":"kaid_21815918665385404677508","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6_uTnCww","translatedTitle":"it's my birthday!","spinoffCount":1,"authorNickname":"Ace"},{"thumb":"/computer-programming/anti-tic-tac-toe/4613812301905920/5909740602310656.png","title":"Anti Tic Tac Toe","url":"https://www.khanacademy.org/computer-programming/anti-tic-tac-toe/4613812301905920","created":"2022-02-27T21:41:40Z","sumVotesIncremented":23,"flaggedByUser":false,"authorKaid":"kaid_611712454227533592687285","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOazoeZCAw","translatedTitle":"Anti Tic Tac Toe","spinoffCount":2,"authorNickname":"Pt: 50hgm"},{"thumb":"/computer-programming/monopoly-the-fast-dealing-property-trading-game/5123491339747328/4851989981741056.png","title":"Monopoly! The fast dealing property trading game!","url":"https://www.khanacademy.org/computer-programming/monopoly-the-fast-dealing-property-trading-game/5123491339747328","created":"2022-02-28T01:37:28Z","sumVotesIncremented":81,"flaggedByUser":false,"authorKaid":"kaid_3023962480183981256230084","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKnPmMCQw","translatedTitle":"Monopoly! The fast dealing property trading game!","spinoffCount":10,"authorNickname":"UnnaturalSecret"},{"thumb":"/computer-programming/ray-tracing/6129009420189696/6146883429908480.png","title":"Ray-Tracing","url":"https://www.khanacademy.org/computer-programming/ray-tracing/6129009420189696","created":"2022-02-27T13:24:18Z","sumVotesIncremented":26,"flaggedByUser":false,"authorKaid":"kaid_567782721025930693177898","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq08nxCgw","translatedTitle":"Ray-Tracing","spinoffCount":0,"authorNickname":"Hurtin"},{"thumb":"/computer-programming/a-sad-message/6036964512940032/5912629102034944.png","title":"A sad message...","url":"https://www.khanacademy.org/computer-programming/a-sad-message/6036964512940032","created":"2022-02-27T22:48:24Z","sumVotesIncremented":27,"flaggedByUser":false,"authorKaid":"kaid_733000745482584737122376","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq5dLcCgw","translatedTitle":"A sad message...","spinoffCount":0,"authorNickname":"Eprony"},{"thumb":"/computer-programming/-the-castle-2-the-outside-world/5671494538543104/5108544585121792.png","title":"-The Castle 2 - The Outside World","url":"https://www.khanacademy.org/computer-programming/-the-castle-2-the-outside-world/5671494538543104","created":"2022-02-24T21:25:56Z","sumVotesIncremented":142,"flaggedByUser":false,"authorKaid":"kaid_135459465083443049807020","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKm8aJCgw","translatedTitle":"-The Castle 2 - The Outside World","spinoffCount":19,"authorNickname":"Awesomemandude"},{"thumb":"/computer-programming/homeward-coc/5124843918901248/4602347591352320.png","title":"Homeward [CoC]","url":"https://www.khanacademy.org/computer-programming/homeward-coc/5124843918901248","created":"2022-02-28T04:32:58Z","sumVotesIncremented":10,"flaggedByUser":false,"authorKaid":"kaid_392376572178111917340371","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqy6CNCQw","translatedTitle":"Homeward [CoC]","spinoffCount":0,"authorNickname":"Logix Indie"},{"thumb":"/computer-programming/ka-live-homepage/5975576646041600/5374689011613696.png","title":"KA Live Homepage","url":"https://www.khanacademy.org/computer-programming/ka-live-homepage/5975576646041600","created":"2022-02-28T01:48:35Z","sumVotesIncremented":14,"flaggedByUser":false,"authorKaid":"kaid_317222614333275516765464","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPaldjOCgw","translatedTitle":"KA Live Homepage","spinoffCount":0,"authorNickname":"Lemon Games"},{"thumb":"/computer-programming/sgj-opening-day/6147980928270336/6195722912317440.png","title":"[SGJ] Opening Day","url":"https://www.khanacademy.org/computer-programming/sgj-opening-day/6147980928270336","created":"2022-02-27T23:09:40Z","sumVotesIncremented":11,"flaggedByUser":false,"authorKaid":"kaid_152917881906477482126765","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa5fH1Cgw","translatedTitle":"[SGJ] Opening Day","spinoffCount":0,"authorNickname":"Dominic R. #SGJ"},{"thumb":"/computer-programming/my-first-project-baby-yoda/4733366239805440/4778842125287424.png","title":"My first project :) Baby yoda","url":"https://www.khanacademy.org/computer-programming/my-first-project-baby-yoda/4733366239805440","created":"2022-02-28T00:45:36Z","sumVotesIncremented":10,"flaggedByUser":false,"authorKaid":"kaid_398369860643867894540422","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqi5-0CAw","translatedTitle":"My first project :) Baby yoda","spinoffCount":0,"authorNickname":"Cobra"},{"thumb":"/computer-programming/ka-live-issue-1/4819976537030656/6317772461096960.png","title":"KA Live, Issue #1","url":"https://www.khanacademy.org/computer-programming/ka-live-issue-1/4819976537030656","created":"2022-02-28T01:48:11Z","sumVotesIncremented":19,"flaggedByUser":false,"authorKaid":"kaid_317222614333275516765464","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPq4_fHCAw","translatedTitle":"KA Live, Issue #1","spinoffCount":0,"authorNickname":"Lemon Games"},{"thumb":"/computer-programming/if-anyone-recognizes-him-i-will-scream-and-shout-and-jump-for-joy/5728329840771072/4996901540773888.png","title":"if anyone recognizes him i will scream and shout and jump for joy","url":"https://www.khanacademy.org/computer-programming/if-anyone-recognizes-him-i-will-scream-and-shout-and-jump-for-joy/5728329840771072","created":"2022-02-25T15:14:16Z","sumVotesIncremented":93,"flaggedByUser":false,"authorKaid":"kaid_1088601017819310502988695","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKq7yWCgw","translatedTitle":"if anyone recognizes him i will scream and shout and jump for joy","spinoffCount":8,"authorNickname":"𝔽𝕒𝕚𝕥𝕙"},{"thumb":"/computer-programming/lego-star-wars-background-2-for-collab/5811018866409472/6580784682024960.png","title":"Lego Star wars background 2 for collab","url":"https://www.khanacademy.org/computer-programming/lego-star-wars-background-2-for-collab/5811018866409472","created":"2022-02-26T06:03:06Z","sumVotesIncremented":37,"flaggedByUser":false,"authorKaid":"kaid_1072768329285718915349513","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa9KKpCgw","translatedTitle":"Lego Star wars background 2 for collab","spinoffCount":2,"authorNickname":"Sax Man/Link"},{"thumb":"/computer-programming/es6/6677747326828544/6215978749837312.png","title":"ES6+","url":"https://www.khanacademy.org/computer-programming/es6/6677747326828544","created":"2022-02-27T11:24:01Z","sumVotesIncremented":39,"flaggedByUser":false,"authorKaid":"kaid_1037904081391187080498507","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqg6zuCww","translatedTitle":"ES6+","spinoffCount":1,"authorNickname":"ski"},{"thumb":"/computer-programming/kitty/4610739118587904/4870376669626368.png","title":"kitty","url":"https://www.khanacademy.org/computer-programming/kitty/4610739118587904","created":"2022-02-28T04:21:34Z","sumVotesIncremented":8,"flaggedByUser":false,"authorKaid":"kaid_1025549758714192525305843","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPala6YCAw","translatedTitle":"kitty","spinoffCount":0,"authorNickname":"WelmWyvren"},{"thumb":"/computer-programming/butterfree/5516714587504640/5498883628122112.png","title":"Butterfree :)","url":"https://www.khanacademy.org/computer-programming/butterfree/5516714587504640","created":"2022-02-26T02:27:13Z","sumVotesIncremented":31,"flaggedByUser":false,"authorKaid":"kaid_781355840866960476657383","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqw63mCQw","translatedTitle":"Butterfree :)","spinoffCount":1,"authorNickname":"♡Kawaii Wolfy♡"},{"thumb":"/computer-programming/ray-tracing/5908866341584896/6601314994798592.png","title":"Ray Tracing","url":"https://www.khanacademy.org/computer-programming/ray-tracing/5908866341584896","created":"2022-02-27T18:48:34Z","sumVotesIncremented":9,"flaggedByUser":false,"authorKaid":"kaid_1070324463917163957459279","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO60sK_Cgw","translatedTitle":"Ray Tracing","spinoffCount":0,"authorNickname":"Hurtin"},{"thumb":"/computer-programming/cool-background/5825526796173312/6033540887134208.png","title":"Cool Background","url":"https://www.khanacademy.org/computer-programming/cool-background/5825526796173312","created":"2022-02-26T20:15:08Z","sumVotesIncremented":17,"flaggedByUser":false,"authorKaid":"kaid_964737915837336217746208","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6ksmsCgw","translatedTitle":"Cool Background","spinoffCount":0,"authorNickname":"VEXCESS #BringBackBackgrounds"},{"thumb":"/computer-programming/waves-on-sphere-ondas-sobre-esfera/5052098950512640/4795284736491520.png","title":"Waves on Sphere - Ondas sobre Esfera","url":"https://www.khanacademy.org/computer-programming/waves-on-sphere-ondas-sobre-esfera/5052098950512640","created":"2022-02-26T19:31:53Z","sumVotesIncremented":17,"flaggedByUser":false,"authorKaid":"kaid_374074867038712094425750","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOat9v8CAw","translatedTitle":"Waves on Sphere - Ondas sobre Esfera","spinoffCount":0,"authorNickname":"Leonel Morales Díaz"},{"thumb":"/computer-programming/requested-by-stalkerz-with-more-and-more/5554501441339392/4514916653383680.png","title":"Requested by Stalkerz with more and more","url":"https://www.khanacademy.org/computer-programming/requested-by-stalkerz-with-more-and-more/5554501441339392","created":"2022-02-26T21:34:55Z","sumVotesIncremented":69,"flaggedByUser":false,"authorKaid":"kaid_426949475624464429899068","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqovnuCQw","translatedTitle":"Requested by Stalkerz with more and more","spinoffCount":1,"authorNickname":"brickman5"},{"thumb":"/computer-programming/wip/6306904046354432/5520434666717184.png","title":"wip","url":"https://www.khanacademy.org/computer-programming/wip/6306904046354432","created":"2022-02-28T01:41:24Z","sumVotesIncremented":6,"flaggedByUser":false,"authorKaid":"kaid_1154433418082391458150393","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6iIOaCww","translatedTitle":"wip","spinoffCount":0,"authorNickname":"SP"},{"thumb":"/computer-programming/syntax-highlighter/6317726021763072/5830526138105856.png","title":"Syntax highlighter","url":"https://www.khanacademy.org/computer-programming/syntax-highlighter/6317726021763072","created":"2022-02-26T21:58:25Z","sumVotesIncremented":14,"flaggedByUser":false,"authorKaid":"kaid_1098732080926856236545461","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6g76cCww","translatedTitle":"Syntax highlighter","spinoffCount":1,"authorNickname":"JSCoder"},{"thumb":"/computer-programming/dont-mind-this/4671917874266112/5060887426678784.png","title":"Don't mind this","url":"https://www.khanacademy.org/computer-programming/dont-mind-this/4671917874266112","created":"2022-02-28T04:30:18Z","sumVotesIncremented":6,"flaggedByUser":false,"authorKaid":"kaid_266759593901575482747326","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq2qKmCAw","translatedTitle":"Don't mind this","spinoffCount":0,"authorNickname":"SpencerKuan"},{"thumb":"/computer-programming/proxys-logo-d/6199080603664384/5494764351832064.png","title":"Proxy's Logo :D","url":"https://www.khanacademy.org/computer-programming/proxys-logo-d/6199080603664384","created":"2022-02-24T23:17:22Z","sumVotesIncremented":61,"flaggedByUser":false,"authorKaid":"kaid_1172465406286724541541859","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPq_sCBCww","translatedTitle":"Proxy's Logo :D","spinoffCount":4,"authorNickname":"Sushi"},{"thumb":"/computer-programming/loading/5687476548059136/4839639669063680.png","title":"Loading...","url":"https://www.khanacademy.org/computer-programming/loading/5687476548059136","created":"2022-02-27T00:25:06Z","sumVotesIncremented":12,"flaggedByUser":false,"authorKaid":"kaid_139622335977039032504707","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOarZeNCgw","translatedTitle":"Loading...","spinoffCount":1,"authorNickname":"Wizard Works"},{"thumb":"/computer-programming/spin-off-of-project-whats-for-dinner/4949222538395648/6075122445238272.png","title":"Spin-off of \"Project: What's for dinner?\"","url":"https://www.khanacademy.org/computer-programming/spin-off-of-project-whats-for-dinner/4949222538395648","created":"2022-02-26T13:57:08Z","sumVotesIncremented":16,"flaggedByUser":false,"authorKaid":"kaid_1188554484381897411908550","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPaqqnlCAw","translatedTitle":"Spin-off of \"Project: What's for dinner?\"","spinoffCount":0,"authorNickname":"FE2301156 - anindyo"},{"thumb":"/computer-programming/first-project-cute-balloon-d/6659544852774912/5289484544425984.png","title":"First Project! Cute balloon :D","url":"https://www.khanacademy.org/computer-programming/first-project-cute-balloon-d/6659544852774912","created":"2022-02-27T04:21:08Z","sumVotesIncremented":26,"flaggedByUser":false,"authorKaid":"kaid_1814034439349599790296202","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqoZrqCww","translatedTitle":"First Project! Cute balloon :D","spinoffCount":1,"authorNickname":"Heaven"},{"thumb":"/computer-programming/wordle/5473474232500224/5471172901781504.png","title":"Wordle","url":"https://www.khanacademy.org/computer-programming/wordle/5473474232500224","created":"2022-02-28T01:59:48Z","sumVotesIncremented":5,"flaggedByUser":false,"authorKaid":"kaid_782309510557095174945879","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6iMPcCQw","translatedTitle":"Wordle","spinoffCount":1,"authorNickname":"PicaxePro"},{"thumb":"/computer-programming/nothing-here/4761663665389568/5876715927683072.png","title":"Nothing here","url":"https://www.khanacademy.org/computer-programming/nothing-here/4761663665389568","created":"2022-02-28T01:16:59Z","sumVotesIncremented":5,"flaggedByUser":false,"authorKaid":"kaid_1161636173501911064328685","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO609a6CAw","translatedTitle":"Nothing here","spinoffCount":0,"authorNickname":"Paperwad #PCAV"},{"thumb":"/computer-programming/outlined-text/6074579836518400/5998285748748288.png","title":"Outlined Text","url":"https://www.khanacademy.org/computer-programming/outlined-text/6074579836518400","created":"2022-02-26T14:06:02Z","sumVotesIncremented":14,"flaggedByUser":false,"authorKaid":"kaid_1154433418082391458150393","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqxZnlCgw","translatedTitle":"Outlined Text","spinoffCount":1,"authorNickname":"SP"},{"thumb":"/computer-programming/tie-fighter/5000165581701120/4822194182995968.png","title":"TIE Fighter!","url":"https://www.khanacademy.org/computer-programming/tie-fighter/5000165581701120","created":"2022-02-24T16:57:49Z","sumVotesIncremented":54,"flaggedByUser":false,"authorKaid":"kaid_900163032076602341489733","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq_PPwCAw","translatedTitle":"TIE Fighter!","spinoffCount":9,"authorNickname":"ℂ𝕠𝕣𝕚𝕟 𝔽𝕚𝕤𝕥"},{"thumb":"/computer-programming/p3d-maker-version-10/6351359877103616/5020021047738368.png","title":"P3D Maker Version 1.0","url":"https://www.khanacademy.org/computer-programming/p3d-maker-version-10/6351359877103616","created":"2022-02-27T15:43:28Z","sumVotesIncremented":5,"flaggedByUser":false,"authorKaid":"kaid_850262714854534720110442","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq85CkCww","translatedTitle":"P3D Maker Version 1.0","spinoffCount":0,"authorNickname":"NoMathGames"},{"thumb":"/computer-programming/super-mario-animation/4998943227297792/6316679593246720.png","title":"Super Mario animation","url":"https://www.khanacademy.org/computer-programming/super-mario-animation/4998943227297792","created":"2022-02-24T20:56:25Z","sumVotesIncremented":42,"flaggedByUser":false,"authorKaid":"kaid_966917164819078768947220","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPastDwCAw","translatedTitle":"Super Mario animation","spinoffCount":5,"authorNickname":"Mattomatic"},{"thumb":"/computer-programming/ahahaha-i-anime-ted-it/5391448712200192/5289483235803136.png","title":"AHAHAHA I ANIME-TED IT","url":"https://www.khanacademy.org/computer-programming/ahahaha-i-anime-ted-it/5391448712200192","created":"2022-02-25T19:36:33Z","sumVotesIncremented":23,"flaggedByUser":false,"authorKaid":"kaid_279623554944264921114986","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPK5-_JCQw","translatedTitle":"AHAHAHA I ANIME-TED IT","spinoffCount":2,"authorNickname":"Radiantferret"},{"thumb":"/computer-programming/-the-castle-/5244901743706112/5762763734433792.png","title":"-The Castle-","url":"https://www.khanacademy.org/computer-programming/-the-castle-/5244901743706112","created":"2022-02-24T21:24:41Z","sumVotesIncremented":200,"flaggedByUser":false,"authorKaid":"kaid_135459465083443049807020","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPK3caoCQw","translatedTitle":"-The Castle-","spinoffCount":32,"authorNickname":"Awesomemandude"},{"thumb":"/computer-programming/scenes-wip/5523078957285376/4754538046210048.png","title":"Scenes WIP","url":"https://www.khanacademy.org/computer-programming/scenes-wip/5523078957285376","created":"2022-02-26T13:54:57Z","sumVotesIncremented":17,"flaggedByUser":false,"authorKaid":"kaid_125546068146291180258877","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO64ObnCQw","translatedTitle":"Scenes WIP","spinoffCount":0,"authorNickname":"Red Arrow"},{"thumb":"/computer-programming/3d-game-test-enemy/5910935710515200/6132714869669888.png","title":"3d game test enemy","url":"https://www.khanacademy.org/computer-programming/3d-game-test-enemy/5910935710515200","created":"2022-02-27T19:49:19Z","sumVotesIncremented":4,"flaggedByUser":false,"authorKaid":"kaid_827777660653955318774031","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO67_6_Cgw","translatedTitle":"3d game test enemy","spinoffCount":0,"authorNickname":"judah.cline"},{"thumb":"/computer-programming/daisy-sugar-pie-baby-deer/6300200508375040/5847297683406848.png","title":"Daisy Sugar Pie (baby deer)","url":"https://www.khanacademy.org/computer-programming/daisy-sugar-pie-baby-deer/6300200508375040","created":"2022-02-24T17:11:44Z","sumVotesIncremented":92,"flaggedByUser":false,"authorKaid":"kaid_1191657490399007636732524","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPq-7-YCww","translatedTitle":"Daisy Sugar Pie (baby deer)","spinoffCount":16,"authorNickname":"ʙ.ᴄ ꜱᴛᴜᴅɪᴏ"},{"thumb":"/computer-programming/i-purple-you-3/6050138888912896/5487188935491584.png","title":"I purple you <3","url":"https://www.khanacademy.org/computer-programming/i-purple-you-3/6050138888912896","created":"2022-02-27T18:07:07Z","sumVotesIncremented":4,"flaggedByUser":false,"authorKaid":"kaid_4975254840205145220766218","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPam9LfCgw","translatedTitle":"I purple you <3","spinoffCount":0,"authorNickname":"Kim Young Miu"},{"thumb":"/computer-programming/creating-particles-tutorial/6505374417993728/6123722449666048.png","title":"Creating Particles Tutorial","url":"https://www.khanacademy.org/computer-programming/creating-particles-tutorial/6505374417993728","created":"2022-02-27T03:05:59Z","sumVotesIncremented":14,"flaggedByUser":false,"authorKaid":"kaid_682972421482671044758972","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOaqJPHCww","translatedTitle":"Creating Particles Tutorial","spinoffCount":0,"authorNickname":"TDJ"},{"thumb":"/computer-programming/25d-thing/6091635386531840/6590081977597952.png","title":"2.5D thing","url":"https://www.khanacademy.org/computer-programming/25d-thing/6091635386531840","created":"2022-02-27T15:40:16Z","sumVotesIncremented":8,"flaggedByUser":false,"authorKaid":"kaid_656218574078953400953636","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa9onpCgw","translatedTitle":"2.5D thing","spinoffCount":0,"authorNickname":"werto2"},{"thumb":"/computer-programming/new-webpage/4643476701495296/5176474224082944.png","title":"New webpage","url":"https://www.khanacademy.org/computer-programming/new-webpage/4643476701495296","created":"2022-02-27T14:45:34Z","sumVotesIncremented":8,"flaggedByUser":false,"authorKaid":"kaid_335279540512177885166674","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa-uafCAw","translatedTitle":"New webpage","spinoffCount":0,"authorNickname":"VanadiumDev #BringBackBackgrounds"},{"thumb":"/computer-programming/ball-fall-2-beta/4666474808524800/6118132516175872.png","title":"Ball Fall 2 [Beta]","url":"https://www.khanacademy.org/computer-programming/ball-fall-2-beta/4666474808524800","created":"2022-02-26T22:53:13Z","sumVotesIncremented":7,"flaggedByUser":false,"authorKaid":"kaid_674932702844324911997272","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqpYSlCAw","translatedTitle":"Ball Fall 2 [Beta]","spinoffCount":0,"authorNickname":"PiMaster06"},{"thumb":"/computer-programming/cinema-24-carrot-island-poptropica/6093812196753408/5693703512440832.png","title":"Cinema | 24 Carrot Island (Poptropica)","url":"https://www.khanacademy.org/computer-programming/cinema-24-carrot-island-poptropica/6093812196753408","created":"2022-02-28T00:59:07Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_8345040057281136994412","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6o8npCgw","translatedTitle":"Cinema | 24 Carrot Island (Poptropica)","spinoffCount":0,"authorNickname":"Sunny Starlight ッ"},{"thumb":"/computer-programming/new-webpage/4865521141989376/5991421048832000.png","title":"New webpage","url":"https://www.khanacademy.org/computer-programming/new-webpage/4865521141989376","created":"2022-02-27T23:49:58Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_359844994760556867705341","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPapqXSCAw","translatedTitle":"New webpage","spinoffCount":0,"authorNickname":"🅻🅸🅶🅷🆃BENDER"},{"thumb":"/computer-programming/new-webpage/6407190794518528/4793291804557312.png","title":"New webpage","url":"https://www.khanacademy.org/computer-programming/new-webpage/6407190794518528","created":"2022-02-27T23:48:29Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_359844994760556867705341","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa5emwCww","translatedTitle":"New webpage","spinoffCount":0,"authorNickname":"🅻🅸🅶🅷🆃BENDER"},{"thumb":"/computer-programming/basic-clicker-reupload/6117172590985216/5554222637563904.png","title":"basic clicker reupload","url":"https://www.khanacademy.org/computer-programming/basic-clicker-reupload/6117172590985216","created":"2022-02-26T15:44:04Z","sumVotesIncremented":8,"flaggedByUser":false,"authorKaid":"kaid_4246200821194462415393115","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPak_HuCgw","translatedTitle":"basic clicker reupload","spinoffCount":0,"authorNickname":"sl!mey"},{"thumb":"/computer-programming/lego-minikit/4811939747250176/6660914175590400.png","title":"Lego Minikit","url":"https://www.khanacademy.org/computer-programming/lego-minikit/4811939747250176","created":"2022-02-28T03:03:23Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_1072768329285718915349513","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO68I3GCAw","translatedTitle":"Lego Minikit","spinoffCount":0,"authorNickname":"Sax Man/Link"},{"thumb":"/computer-programming/animated-fears-come-alive/4550610885066752/5908919122706432.png","title":"[ANIMATED] fears come alive.","url":"https://www.khanacademy.org/computer-programming/animated-fears-come-alive/4550610885066752","created":"2022-02-23T19:16:53Z","sumVotesIncremented":80,"flaggedByUser":false,"authorKaid":"kaid_307629822216629679169900","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKmtiKCAw","translatedTitle":"[ANIMATED] fears come alive.","spinoffCount":6,"authorNickname":"Mr. CSS"},{"thumb":"/computer-programming/new-program/4731666204508160/5458265853968384.png","title":"New program","url":"https://www.khanacademy.org/computer-programming/new-program/4731666204508160","created":"2022-02-27T22:46:45Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_483047786945222533459350","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOazu2zCAw","translatedTitle":"New program","spinoffCount":0,"authorNickname":"Elite Prøgramming"},{"thumb":"/computer-programming/toaster/5584790456680448/6717370413400064.png","title":"Toaster","url":"https://www.khanacademy.org/computer-programming/toaster/5584790456680448","created":"2022-02-28T04:22:27Z","sumVotesIncremented":5,"flaggedByUser":false,"authorKaid":"kaid_211838678972294429517313","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa5er1CQw","translatedTitle":"Toaster","spinoffCount":0,"authorNickname":"Fire Wolf"},{"thumb":"/computer-programming/boba-fett/4958630328713216/4762131447726080.png","title":"Boba Fett","url":"https://www.khanacademy.org/computer-programming/boba-fett/4958630328713216","created":"2022-02-27T04:51:04Z","sumVotesIncremented":5,"flaggedByUser":false,"authorKaid":"kaid_1072768329285718915349513","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6kbvnCAw","translatedTitle":"Boba Fett","spinoffCount":0,"authorNickname":"Sax Man/Link"},{"thumb":"/computer-programming/new-program/4639364203200512/6428611037937664.png","title":"New program","url":"https://www.khanacademy.org/computer-programming/new-program/4639364203200512","created":"2022-02-27T20:35:28Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_781355840866960476657383","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6ou-eCAw","translatedTitle":"New program","spinoffCount":0,"authorNickname":"♡Kawaii Wolfy♡"},{"thumb":"/computer-programming/new-program/5575179829821440/6547055766978560.png","title":"New Program","url":"https://www.khanacademy.org/computer-programming/new-program/5575179829821440","created":"2022-02-27T20:30:16Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_781355840866960476657383","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqi9PzCQw","translatedTitle":"New Program","spinoffCount":0,"authorNickname":"♡Kawaii Wolfy♡"},{"thumb":"/computer-programming/x-wing-fighter/4587815317848064/4759383876616192.png","title":"X-Wing Fighter!","url":"https://www.khanacademy.org/computer-programming/x-wing-fighter/4587815317848064","created":"2022-02-23T21:09:30Z","sumVotesIncremented":62,"flaggedByUser":false,"authorKaid":"kaid_900163032076602341489733","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPy_5KTCAw","translatedTitle":"X-Wing Fighter!","spinoffCount":22,"authorNickname":"ℂ𝕠𝕣𝕚𝕟 𝔽𝕚𝕤𝕥"},{"thumb":"/computer-programming/list-of-keycodes/6212037446254592/6205365784985600.png","title":"List of \"key.code\"s","url":"https://www.khanacademy.org/computer-programming/list-of-keycodes/6212037446254592","created":"2022-02-27T19:40:09Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_2787240484068091720386465","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqirqECww","translatedTitle":"List of \"key.code\"s","spinoffCount":0,"authorNickname":"Scarlett O'Hara"},{"thumb":"/computer-programming/trying-passwords-wip/6056494635204608/6317000138735616.png","title":"Trying passwords [WIP]","url":"https://www.khanacademy.org/computer-programming/trying-passwords-wip/6056494635204608","created":"2022-02-27T23:02:18Z","sumVotesIncremented":6,"flaggedByUser":false,"authorKaid":"kaid_574576985099042639713735","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPamIvhCgw","translatedTitle":"Trying passwords [WIP]","spinoffCount":0,"authorNickname":"Gᴀʟᴀxʏ Rᴀɴɢᴇʀ"},{"thumb":"/computer-programming/imperial-probes/6751067485290496/6595852266160128.png","title":"imperial probe's ","url":"https://www.khanacademy.org/computer-programming/imperial-probes/6751067485290496","created":"2022-02-28T03:23:40Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_1072768329285718915349513","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa9oH_Cww","translatedTitle":"imperial probe's ","spinoffCount":0,"authorNickname":"Sax Man/Link"},{"thumb":"/computer-programming/top-5-reason-i-am-best-coder-on-khan-acaedmy/4748963749085184/5001769483550720.png","title":"TOP 5 REASON i AM BEST CODER ON KHAN ACAEDMY","url":"https://www.khanacademy.org/computer-programming/top-5-reason-i-am-best-coder-on-khan-acaedmy/4748963749085184","created":"2022-02-27T02:50:16Z","sumVotesIncremented":55,"flaggedByUser":false,"authorKaid":"kaid_903966361915125576284278","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKhOW3CAw","translatedTitle":"TOP 5 REASON i AM BEST CODER ON KHAN ACAEDMY","spinoffCount":0,"authorNickname":"aeych"},{"thumb":"/computer-programming/es6-in-pjs/4972461264257024/4860974248017920.png","title":"ES6+ in PJS","url":"https://www.khanacademy.org/computer-programming/es6-in-pjs/4972461264257024","created":"2022-02-28T05:06:20Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_376749826184384230772276","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa1c3qCAw","translatedTitle":"ES6+ in PJS","spinoffCount":0,"authorNickname":"siuqilA"},{"thumb":"/computer-programming/cappys-worst-nightmare/5343293471768576/6707358240653312.png","title":"Cappy's Worst Nightmare","url":"https://www.khanacademy.org/computer-programming/cappys-worst-nightmare/5343293471768576","created":"2022-02-22T22:37:00Z","sumVotesIncremented":116,"flaggedByUser":false,"authorKaid":"kaid_1147203686851293375515766","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqp_a-CQw","translatedTitle":"Cappy's Worst Nightmare","spinoffCount":18,"authorNickname":"Kestron"},{"thumb":"/computer-programming/assistance-for-5451883499012096aeych2/4520368476831744/6536575006588928.png","title":"[Assistance] for @5451883499012096/@aeych2","url":"https://www.khanacademy.org/computer-programming/assistance-for-5451883499012096aeych2/4520368476831744","created":"2022-02-28T04:32:28Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_661675260620671461377856","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqhOiDCAw","translatedTitle":"[Assistance] for @5451883499012096/@aeych2","spinoffCount":0,"authorNickname":"Yoosung321"},{"thumb":"/computer-programming/lab-4/6123624168734720/6585584811294720.png","title":"Lab 4","url":"https://www.khanacademy.org/computer-programming/lab-4/6123624168734720","created":"2022-02-28T03:45:14Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_4723004954568265325546329","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa9azwCgw","translatedTitle":"Lab 4","spinoffCount":0,"authorNickname":"cindyyhansen"},{"thumb":"/computer-programming/new-program/4970149967872000/6096049874714624.png","title":"New program","url":"https://www.khanacademy.org/computer-programming/new-program/4970149967872000","created":"2022-02-28T02:42:01Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_80710011086149831327935","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6s4rqCAw","translatedTitle":"New program","spinoffCount":0,"authorNickname":"Polar"},{"thumb":"/computer-programming/pjs/5451883499012096/4674210480832512.png","title":"","url":"https://www.khanacademy.org/computer-programming/pjs/5451883499012096","created":"2022-02-28T04:07:07Z","sumVotesIncremented":4,"flaggedByUser":false,"authorKaid":"kaid_903966361915125576284278","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa2M7XCQw","translatedTitle":"","spinoffCount":0,"authorNickname":"aeych"},{"thumb":"/computer-programming/deal-or-no-deal-card-game-helper/5661249464483840/6588574712512512.png","title":"Deal or No Deal Card Game Helper","url":"https://www.khanacademy.org/computer-programming/deal-or-no-deal-card-game-helper/5661249464483840","created":"2022-02-26T21:34:09Z","sumVotesIncremented":5,"flaggedByUser":false,"authorKaid":"kaid_1077688535181334340134886","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPahZyHCgw","translatedTitle":"Deal or No Deal Card Game Helper","spinoffCount":0,"authorNickname":"Alpha Delta JS (v2)"},{"thumb":"/computer-programming/ace-editor/6561718013575168/4732130664955904.png","title":"Ace Editor","url":"https://www.khanacademy.org/computer-programming/ace-editor/6561718013575168","created":"2022-02-27T13:26:12Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_335279540512177885166674","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6kPvTCww","translatedTitle":"Ace Editor","spinoffCount":0,"authorNickname":"VanadiumDev #BringBackBackgrounds"},{"thumb":"/computer-programming/font-function/6657101553254400/5728813595017216.png","title":"Font Function","url":"https://www.khanacademy.org/computer-programming/font-function/6657101553254400","created":"2022-02-28T02:25:01Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_335279540512177885166674","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqk9PpCww","translatedTitle":"Font Function","spinoffCount":0,"authorNickname":"VanadiumDev #BringBackBackgrounds"},{"thumb":"/computer-programming/new-webpage/6279963528445952/4792842946920448.png","title":"New webpage","url":"https://www.khanacademy.org/computer-programming/new-webpage/6279963528445952","created":"2022-02-28T02:46:22Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_1098732080926856236545461","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa__KTCww","translatedTitle":"New webpage","spinoffCount":0,"authorNickname":"JSCoder"},{"thumb":"/computer-programming/the-death-star/5136577333346304/4738846215421952.png","title":"The death star ","url":"https://www.khanacademy.org/computer-programming/the-death-star/5136577333346304","created":"2022-02-26T18:44:43Z","sumVotesIncremented":12,"flaggedByUser":false,"authorKaid":"kaid_859950555904851228652001","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPaifaPCQw","translatedTitle":"The death star ","spinoffCount":0,"authorNickname":"Arctic wolf"},{"thumb":"/computer-programming/idk/5226668802228224/6135843384246272.png","title":"idk...","url":"https://www.khanacademy.org/computer-programming/idk/5226668802228224","created":"2022-02-23T17:59:54Z","sumVotesIncremented":83,"flaggedByUser":false,"authorKaid":"kaid_572162445297461577426497","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKirSkCQw","translatedTitle":"idk...","spinoffCount":8,"authorNickname":"WalkWorthy"},{"thumb":"/computer-programming/new-program/4681695400869888/5947169229029376.png","title":"New program","url":"https://www.khanacademy.org/computer-programming/new-program/4681695400869888","created":"2022-02-28T01:02:29Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_7063807133708579591783671","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO6or-oCAw","translatedTitle":"New program","spinoffCount":0,"authorNickname":"Developer"},{"thumb":"/computer-programming/new-webpage/5436290821570560/6562190728413184.png","title":"New webpage","url":"https://www.khanacademy.org/computer-programming/new-webpage/5436290821570560","created":"2022-02-27T23:40:50Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_359844994760556867705341","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO68YjUCQw","translatedTitle":"New webpage","spinoffCount":0,"authorNickname":"🅻🅸🅶🅷🆃BENDER"},{"thumb":"/computer-programming/if-trees-could-scream/6082707726581760/4632415315214336.png","title":"If trees could scream...","url":"https://www.khanacademy.org/computer-programming/if-trees-could-scream/6082707726581760","created":"2022-02-26T19:07:23Z","sumVotesIncremented":24,"flaggedByUser":false,"authorKaid":"kaid_279623554944264921114986","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOKjIbnCgw","translatedTitle":"If trees could scream...","spinoffCount":1,"authorNickname":"Radiantferret"},{"thumb":"/computer-programming/animal-donuts/5290941444308992/5225451648761856.png","title":"Animal Donuts","url":"https://www.khanacademy.org/computer-programming/animal-donuts/5290941444308992","created":"2022-02-25T16:44:31Z","sumVotesIncremented":44,"flaggedByUser":false,"authorKaid":"kaid_34354761434880194333597","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPq1IKzCQw","translatedTitle":"Animal Donuts","spinoffCount":2,"authorNickname":"ֆռօա ʍօʊֆɛ"},{"thumb":"/computer-programming/3-d-ripples/4526630371377152/6270326058041344.png","title":"3-d ripples","url":"https://www.khanacademy.org/computer-programming/3-d-ripples/4526630371377152","created":"2022-02-25T20:28:59Z","sumVotesIncremented":21,"flaggedByUser":false,"authorKaid":"kaid_1195050448091095982600798","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOapJ6FCAw","translatedTitle":"3-d ripples","spinoffCount":2,"authorNickname":"4009322"},{"thumb":"/computer-programming/a-gift-for-my-brother/6233151606145024/6361317322571776.png","title":"A gift for my brother","url":"https://www.khanacademy.org/computer-programming/a-gift-for-my-brother/6233151606145024","created":"2022-02-26T06:53:34Z","sumVotesIncremented":26,"flaggedByUser":false,"authorKaid":"kaid_2410784419470275043882283","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOay6CJCww","translatedTitle":"A gift for my brother","spinoffCount":4,"authorNickname":"☆CheshireCat☆"},{"thumb":"/computer-programming/wip/5107669384871936/5105963108450304.png","title":"wip","url":"https://www.khanacademy.org/computer-programming/wip/5107669384871936","created":"2022-02-27T21:15:15Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_114585470331020100763556","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa36yJCQw","translatedTitle":"wip","spinoffCount":0,"authorNickname":"F4stB01"},{"thumb":"/computer-programming/new-program/5377698609283072/5563540334231552.png","title":"New program","url":"https://www.khanacademy.org/computer-programming/new-program/5377698609283072","created":"2022-02-27T21:14:57Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_114585470331020100763556","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO60N_GCQw","translatedTitle":"New program","spinoffCount":0,"authorNickname":"F4stB01"},{"thumb":"/computer-programming/happy-place/4644455652048896/5260661757100032.png","title":"happy place","url":"https://www.khanacademy.org/computer-programming/happy-place/4644455652048896","created":"2022-02-25T22:30:04Z","sumVotesIncremented":23,"flaggedByUser":false,"authorKaid":"kaid_261723798353502715735166","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKuYOgCAw","translatedTitle":"happy place","spinoffCount":0,"authorNickname":"angel ♡"},{"thumb":"/computer-programming/new-program/4680990757797888/6720512953729024.png","title":"New program","url":"https://www.khanacademy.org/computer-programming/new-program/4680990757797888","created":"2022-02-27T20:29:06Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_202761635288876462640585","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMO64aqoCAw","translatedTitle":"New program","spinoffCount":0,"authorNickname":"Flash Fire"},{"thumb":"/computer-programming/reghex/6512957887397888/5325645954465792.png","title":"regHex","url":"https://www.khanacademy.org/computer-programming/reghex/6512957887397888","created":"2022-02-25T16:04:57Z","sumVotesIncremented":11,"flaggedByUser":false,"authorKaid":"kaid_152917881906477482126765","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqgvDICww","translatedTitle":"regHex","spinoffCount":1,"authorNickname":"Dominic R. #SGJ"},{"thumb":"/computer-programming/neutrons-coc-temporary-backup-homepage/6034557687087104/5236283724054528.png","title":"Neutrons [CoC] | Temporary Backup Homepage","url":"https://www.khanacademy.org/computer-programming/neutrons-coc-temporary-backup-homepage/6034557687087104","created":"2022-02-27T21:09:21Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_572162445297461577426497","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOa34zcCgw","translatedTitle":"Neutrons [CoC] | Temporary Backup Homepage","spinoffCount":0,"authorNickname":"WalkWorthy"},{"thumb":"/computer-programming/i-must-finish-thisnot-sure-if-i-will-xd/6668013857193984/5171112594948096.png","title":"i must finish this...not sure if i will XD","url":"https://www.khanacademy.org/computer-programming/i-must-finish-thisnot-sure-if-i-will-xd/6668013857193984","created":"2022-02-25T21:23:42Z","sumVotesIncremented":18,"flaggedByUser":false,"authorKaid":"kaid_781355840866960476657383","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq35DsCww","translatedTitle":"i must finish this...not sure if i will XD","spinoffCount":-1,"authorNickname":"♡Kawaii Wolfy♡"},{"thumb":"/computer-programming/lightsaber-object-type/5996060955688960/4505482355064832.png","title":"Lightsaber Object Type","url":"https://www.khanacademy.org/computer-programming/lightsaber-object-type/5996060955688960","created":"2022-02-27T19:41:21Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_137396514477245558064222","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPaq6zTCgw","translatedTitle":"Lightsaber Object Type","spinoffCount":0,"authorNickname":"Aiden"},{"thumb":"/computer-programming/ball-defence-game/5380716746555392/4910640981393408.png","title":"Ball Defence (Game)","url":"https://www.khanacademy.org/computer-programming/ball-defence-game/5380716746555392","created":"2022-02-25T23:35:51Z","sumVotesIncremented":242,"flaggedByUser":false,"authorKaid":"kaid_639291037700385781852565","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPyu7fHCQw","translatedTitle":"Ball Defence (Game)","spinoffCount":146,"authorNickname":"Gray Wolf 🐺"},{"thumb":"/computer-programming/my-helpfor-someone/5608409320701952/6189437328343040.png","title":"my help(for someone)","url":"https://www.khanacademy.org/computer-programming/my-helpfor-someone/5608409320701952","created":"2022-02-28T03:00:40Z","sumVotesIncremented":4,"flaggedByUser":false,"authorKaid":"kaid_59625398076757909214777","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqmJr7CQw","translatedTitle":"my help(for someone)","spinoffCount":0,"authorNickname":"DogeAndDoge"},{"thumb":"/computer-programming/split-screen/5061375576555520/6645260965953536.png","title":"SPLIT SCREEN","url":"https://www.khanacademy.org/computer-programming/split-screen/5061375576555520","created":"2022-02-25T08:18:03Z","sumVotesIncremented":42,"flaggedByUser":false,"authorKaid":"kaid_1116211384842396834715509","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOqten-CAw","translatedTitle":"SPLIT SCREEN","spinoffCount":3,"authorNickname":"apex"},{"thumb":"/computer-programming/spin-off-of-challenge-book-list-database/6073299063848960/5074365671587840.png","title":"Spin-off of \"Challenge: Book list database\"","url":"https://www.khanacademy.org/computer-programming/spin-off-of-challenge-book-list-database/6073299063848960","created":"2022-02-27T16:40:30Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_1069929310307964999554673","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOKovTkCgw","translatedTitle":"Spin-off of \"Challenge: Book list database\"","spinoffCount":0,"authorNickname":"Joshua"},{"thumb":"/computer-programming/spin-off-of-project-design-a-store-database/6288509070524416/4881134186971136.png","title":"Spin-off of \"Project: Design a store database\"","url":"https://www.khanacademy.org/computer-programming/spin-off-of-project-design-a-store-database/6288509070524416","created":"2022-02-27T16:27:58Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_536421814510055745577007","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPq2euVCww","translatedTitle":"Spin-off of \"Project: Design a store database\"","spinoffCount":0,"authorNickname":"Guy Kornblum"},{"thumb":"/computer-programming/word-guesser/6165226832576512/6220661639921664.png","title":"Word Guesser","url":"https://www.khanacademy.org/computer-programming/word-guesser/6165226832576512","created":"2022-02-27T17:07:59Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_73656865894951272751214","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPa2-f5Cgw","translatedTitle":"Word Guesser","spinoffCount":0,"authorNickname":"B0az0n"},{"thumb":"/computer-programming/what-have-i-done/6529161255501824/6034117822038016.png","title":"what have i done","url":"https://www.khanacademy.org/computer-programming/what-have-i-done/6529161255501824","created":"2022-02-23T18:11:23Z","sumVotesIncremented":39,"flaggedByUser":false,"authorKaid":"kaid_581653165173668356315172","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOKzcfMCww","translatedTitle":"what have i done","spinoffCount":2,"authorNickname":"puffs 🌻"},{"thumb":"/computer-programming/15-puzzle-game/4877000280948736/6126750368055296.png","title":"15 Puzzle Game","url":"https://www.khanacademy.org/computer-programming/15-puzzle-game/4877000280948736","created":"2022-02-26T19:50:24Z","sumVotesIncremented":8,"flaggedByUser":false,"authorKaid":"kaid_129418452945784218016000","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPqsfPUCAw","translatedTitle":"15 Puzzle Game","spinoffCount":0,"authorNickname":"Julian Wu"},{"thumb":"/computer-programming/minigames/6298374610403328/4908450313191424.png","title":"minigames?","url":"https://www.khanacademy.org/computer-programming/minigames/6298374610403328","created":"2022-02-28T00:53:41Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_1152620490185361154142770","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPq6YqYCww","translatedTitle":"minigames?","spinoffCount":0,"authorNickname":"Levi F."},{"thumb":"/computer-programming/hm/6587102042046464/5900297076523008.png","title":"hm","url":"https://www.khanacademy.org/computer-programming/hm/6587102042046464","created":"2022-02-28T01:45:25Z","sumVotesIncremented":2,"flaggedByUser":false,"authorKaid":"kaid_110960321266482795332482","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq893ZCww","translatedTitle":"hm","spinoffCount":0,"authorNickname":"PK"},{"thumb":"/computer-programming/librapex/4890940603940864/5437813186150400.png","title":"Librapex","url":"https://www.khanacademy.org/computer-programming/librapex/4890940603940864","created":"2022-02-26T21:47:41Z","sumVotesIncremented":7,"flaggedByUser":false,"authorKaid":"kaid_80710011086149831327935","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMPKjYnYCAw","translatedTitle":"Librapex","spinoffCount":0,"authorNickname":"Polar"},{"thumb":"/computer-programming/move-an-animal-jackie/5084891864678400/6402073206767616.png","title":"Move an animal - Jackie","url":"https://www.khanacademy.org/computer-programming/move-an-animal-jackie/5084891864678400","created":"2022-02-27T03:05:11Z","sumVotesIncremented":3,"flaggedByUser":false,"authorKaid":"kaid_944066132983270612978454","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOq6pWECQw","translatedTitle":"Move an animal - Jackie","spinoffCount":0,"authorNickname":"jackie.thai"},{"thumb":"/computer-programming/defoggable-window/5916051805093888/6102357571059712.png","title":"Defoggable window","url":"https://www.khanacademy.org/computer-programming/defoggable-window/5916051805093888","created":"2022-02-26T23:13:28Z","sumVotesIncremented":280,"flaggedByUser":false,"authorKaid":"kaid_1146777750593730192575369","key":"ag5zfmtoYW4tYWNhZGVteXIXCxIKU2NyYXRjaHBhZBiAgMOy4pPBCgw","translatedTitle":"Defoggable window","spinoffCount":5,"authorNickname":"KPL"}]}
var performanceData = [{"_id":"621c5717900c3595d9285e49","program_id":"5482250192863232","programs":[{"_id":"621aa325900c3595d9647e62","program_id":"5482250192863232","timestamp":1645912860731,"rank":23,"votes":5,"forks":0,"comments":3,"commentVotes":4,"replies":0,"hour":22},{"_id":"621abf46900c3595d96dc98a","program_id":"5482250192863232","timestamp":1645920061347,"rank":5,"votes":18,"forks":0,"comments":12,"commentVotes":17,"replies":3,"hour":0},{"_id":"621ae975900c3595d97aa880","program_id":"5482250192863232","timestamp":1645930860775,"rank":4,"votes":27,"forks":0,"comments":18,"commentVotes":26,"replies":3,"hour":3},{"_id":"621b13a5900c3595d987fef3","program_id":"5482250192863232","timestamp":1645941660805,"rank":2,"votes":35,"forks":0,"comments":21,"commentVotes":29,"replies":3,"hour":6},{"_id":"621b3dd6900c3595d99bb1bc","program_id":"5482250192863232","timestamp":1645952461043,"rank":1,"votes":38,"forks":0,"comments":22,"commentVotes":31,"replies":3,"hour":9},{"_id":"621b6806900c3595d9ba2c88","program_id":"5482250192863232","timestamp":1645963260892,"rank":1,"votes":41,"forks":0,"comments":24,"commentVotes":35,"replies":3,"hour":12},{"_id":"621b9236900c3595d9d7b48e","program_id":"5482250192863232","timestamp":1645974061088,"rank":1,"votes":44,"forks":0,"comments":26,"commentVotes":40,"replies":3,"hour":15},{"_id":"621bbc66900c3595d9f23ac7","program_id":"5482250192863232","timestamp":1645984860700,"rank":1,"votes":52,"forks":1,"comments":28,"commentVotes":42,"replies":3,"hour":18},{"_id":"621be695900c3595d9054967","program_id":"5482250192863232","timestamp":1645995660743,"rank":1,"votes":56,"forks":1,"comments":30,"commentVotes":45,"replies":28,"hour":21},{"_id":"621c10c6900c3595d913c001","program_id":"5482250192863232","timestamp":1646006460778,"rank":1,"votes":64,"forks":2,"comments":34,"commentVotes":50,"replies":33,"hour":0},{"_id":"621c3af5900c3595d91feb4f","program_id":"5482250192863232","timestamp":1646017260956,"rank":1,"votes":73,"forks":3,"comments":36,"commentVotes":58,"replies":42,"hour":3},{"_id":"621c5717900c3595d9285e49","program_id":"5482250192863232","timestamp":1646024461003,"rank":1,"votes":73,"forks":3,"comments":36,"commentVotes":58,"replies":42,"hour":5}]},{"_id":"621c5717900c3595d9285e4a","program_id":"5091114164994048","programs":[{"_id":"621b21b6900c3595d98eca1c","program_id":"5091114164994048","timestamp":1645945260797,"rank":23,"votes":6,"forks":0,"comments":2,"commentVotes":4,"replies":1,"hour":7},{"_id":"621b3dd6900c3595d99bb1c8","program_id":"5091114164994048","timestamp":1645952461043,"rank":13,"votes":9,"forks":0,"comments":3,"commentVotes":7,"replies":3,"hour":9},{"_id":"621b6806900c3595d9ba2c8f","program_id":"5091114164994048","timestamp":1645963260892,"rank":8,"votes":14,"forks":0,"comments":5,"commentVotes":9,"replies":7,"hour":12},{"_id":"621b9236900c3595d9d7b490","program_id":"5091114164994048","timestamp":1645974061088,"rank":3,"votes":25,"forks":1,"comments":8,"commentVotes":15,"replies":13,"hour":15},{"_id":"621bbc66900c3595d9f23ac9","program_id":"5091114164994048","timestamp":1645984860700,"rank":3,"votes":34,"forks":1,"comments":10,"commentVotes":20,"replies":17,"hour":18},{"_id":"621be695900c3595d9054969","program_id":"5091114164994048","timestamp":1645995660743,"rank":3,"votes":37,"forks":1,"comments":12,"commentVotes":23,"replies":18,"hour":21},{"_id":"621c10c6900c3595d913c002","program_id":"5091114164994048","timestamp":1646006460778,"rank":2,"votes":42,"forks":1,"comments":13,"commentVotes":26,"replies":18,"hour":0},{"_id":"621c3af5900c3595d91feb50","program_id":"5091114164994048","timestamp":1646017260956,"rank":2,"votes":47,"forks":1,"comments":14,"commentVotes":27,"replies":32,"hour":3},{"_id":"621c5717900c3595d9285e4a","program_id":"5091114164994048","timestamp":1646024461003,"rank":2,"votes":47,"forks":1,"comments":14,"commentVotes":27,"replies":33,"hour":5}]},{"_id":"621c5717900c3595d9285e4b","program_id":"6648918197714944","programs":[{"_id":"621a32a8900c3595d912a892","program_id":"6648918197714944","timestamp":1645884060846,"rank":26,"votes":5,"forks":0,"comments":4,"commentVotes":5,"replies":3,"hour":14},{"_id":"621a40b6900c3595d921593a","program_id":"6648918197714944","timestamp":1645887660933,"rank":3,"votes":17,"forks":0,"comments":9,"commentVotes":13,"replies":11,"hour":15},{"_id":"621a6ae5900c3595d944439f","program_id":"6648918197714944","timestamp":1645898461322,"rank":2,"votes":29,"forks":0,"comments":26,"commentVotes":33,"replies":26,"hour":18},{"_id":"621a9516900c3595d95cafe1","program_id":"6648918197714944","timestamp":1645909260948,"rank":2,"votes":33,"forks":0,"comments":33,"commentVotes":41,"replies":31,"hour":21},{"_id":"621abf46900c3595d96dc986","program_id":"6648918197714944","timestamp":1645920061347,"rank":1,"votes":41,"forks":1,"comments":41,"commentVotes":53,"replies":37,"hour":0},{"_id":"621ae975900c3595d97aa87d","program_id":"6648918197714944","timestamp":1645930860775,"rank":1,"votes":45,"forks":1,"comments":46,"commentVotes":59,"replies":47,"hour":3},{"_id":"621b13a5900c3595d987fef2","program_id":"6648918197714944","timestamp":1645941660805,"rank":1,"votes":48,"forks":1,"comments":52,"commentVotes":68,"replies":54,"hour":6},{"_id":"621b3dd6900c3595d99bb1bd","program_id":"6648918197714944","timestamp":1645952461043,"rank":2,"votes":49,"forks":1,"comments":53,"commentVotes":70,"replies":54,"hour":9},{"_id":"621b6806900c3595d9ba2c89","program_id":"6648918197714944","timestamp":1645963260892,"rank":2,"votes":51,"forks":1,"comments":53,"commentVotes":71,"replies":54,"hour":12},{"_id":"621b9236900c3595d9d7b48f","program_id":"6648918197714944","timestamp":1645974061088,"rank":2,"votes":52,"forks":1,"comments":54,"commentVotes":73,"replies":55,"hour":15},{"_id":"621bbc66900c3595d9f23ac8","program_id":"6648918197714944","timestamp":1645984860700,"rank":2,"votes":59,"forks":1,"comments":58,"commentVotes":88,"replies":61,"hour":18},{"_id":"621be695900c3595d9054968","program_id":"6648918197714944","timestamp":1645995660743,"rank":2,"votes":66,"forks":1,"comments":58,"commentVotes":88,"replies":65,"hour":21},{"_id":"621c10c6900c3595d913c003","program_id":"6648918197714944","timestamp":1646006460778,"rank":3,"votes":72,"forks":1,"comments":60,"commentVotes":90,"replies":65,"hour":0},{"_id":"621c3af5900c3595d91feb51","program_id":"6648918197714944","timestamp":1646017260956,"rank":3,"votes":72,"forks":1,"comments":61,"commentVotes":92,"replies":69,"hour":3},{"_id":"621c5717900c3595d9285e4b","program_id":"6648918197714944","timestamp":1646024461003,"rank":3,"votes":73,"forks":1,"comments":63,"commentVotes":94,"replies":69,"hour":5}]},{"_id":"621c5717900c3595d9285e4c","program_id":"4613812301905920","programs":[{"_id":"621bf4a5900c3595d90bcdd9","program_id":"4613812301905920","timestamp":1645999260711,"rank":18,"votes":6,"forks":0,"comments":1,"commentVotes":1,"replies":1,"hour":22},{"_id":"621c10c6900c3595d913c006","program_id":"4613812301905920","timestamp":1646006460778,"rank":6,"votes":14,"forks":0,"comments":3,"commentVotes":4,"replies":5,"hour":0},{"_id":"621c3af5900c3595d91feb52","program_id":"4613812301905920","timestamp":1646017260956,"rank":4,"votes":22,"forks":1,"comments":5,"commentVotes":8,"replies":5,"hour":3},{"_id":"621c5717900c3595d9285e4c","program_id":"4613812301905920","timestamp":1646024461003,"rank":4,"votes":22,"forks":2,"comments":6,"commentVotes":9,"replies":5,"hour":5}]},{"_id":"621c5717900c3595d9285e4d","program_id":"5123491339747328","programs":[{"_id":"6219a605900c3595d9b0856c","program_id":"5123491339747328","timestamp":1645848060305,"rank":75,"votes":2,"forks":1,"comments":0,"commentVotes":0,"replies":0,"hour":4},{"_id":"6219c225900c3595d9ba5590","program_id":"5123491339747328","timestamp":1645855260996,"rank":32,"votes":5,"forks":1,"comments":0,"commentVotes":0,"replies":0,"hour":6},{"_id":"6219ec57900c3595d9d6112b","program_id":"5123491339747328","timestamp":1645866061230,"rank":32,"votes":5,"forks":1,"comments":0,"commentVotes":0,"replies":0,"hour":9},{"_id":"621a1686900c3595d9f31909","program_id":"5123491339747328","timestamp":1645876861288,"rank":24,"votes":7,"forks":1,"comments":1,"commentVotes":1,"replies":0,"hour":12},{"_id":"621a40b6900c3595d9215945","program_id":"5123491339747328","timestamp":1645887660933,"rank":14,"votes":13,"forks":2,"comments":1,"commentVotes":2,"replies":0,"hour":15},{"_id":"621a6ae5900c3595d94443a2","program_id":"5123491339747328","timestamp":1645898461322,"rank":5,"votes":22,"forks":3,"comments":4,"commentVotes":5,"replies":0,"hour":18},{"_id":"621a9516900c3595d95cafe2","program_id":"5123491339747328","timestamp":1645909260948,"rank":3,"votes":34,"forks":4,"comments":8,"commentVotes":9,"replies":1,"hour":21},{"_id":"621abf46900c3595d96dc988","program_id":"5123491339747328","timestamp":1645920061347,"rank":3,"votes":44,"forks":5,"comments":12,"commentVotes":13,"replies":1,"hour":0},{"_id":"621ae975900c3595d97aa87f","program_id":"5123491339747328","timestamp":1645930860775,"rank":3,"votes":50,"forks":6,"comments":14,"commentVotes":15,"replies":1,"hour":3},{"_id":"621b13a5900c3595d987fef5","program_id":"5123491339747328","timestamp":1645941660805,"rank":4,"votes":52,"forks":6,"comments":15,"commentVotes":16,"replies":1,"hour":6},{"_id":"621b3dd6900c3595d99bb1bf","program_id":"5123491339747328","timestamp":1645952461043,"rank":4,"votes":52,"forks":6,"comments":15,"commentVotes":16,"replies":1,"hour":9},{"_id":"621b6806900c3595d9ba2c8a","program_id":"5123491339747328","timestamp":1645963260892,"rank":3,"votes":54,"forks":7,"comments":15,"commentVotes":16,"replies":1,"hour":12},{"_id":"621b9236900c3595d9d7b491","program_id":"5123491339747328","timestamp":1645974061088,"rank":4,"votes":57,"forks":8,"comments":15,"commentVotes":18,"replies":1,"hour":15},{"_id":"621bbc66900c3595d9f23acb","program_id":"5123491339747328","timestamp":1645984860700,"rank":5,"votes":60,"forks":8,"comments":15,"commentVotes":17,"replies":1,"hour":18},{"_id":"621be695900c3595d905496b","program_id":"5123491339747328","timestamp":1645995660743,"rank":5,"votes":66,"forks":9,"comments":15,"commentVotes":20,"replies":2,"hour":21},{"_id":"621c10c6900c3595d913c004","program_id":"5123491339747328","timestamp":1646006460778,"rank":4,"votes":73,"forks":9,"comments":18,"commentVotes":27,"replies":2,"hour":0},{"_id":"621c3af5900c3595d91feb53","program_id":"5123491339747328","timestamp":1646017260956,"rank":5,"votes":79,"forks":10,"comments":18,"commentVotes":27,"replies":2,"hour":3},{"_id":"621c5717900c3595d9285e4d","program_id":"5123491339747328","timestamp":1646024461003,"rank":5,"votes":81,"forks":10,"comments":18,"commentVotes":27,"replies":2,"hour":5}]},{"_id":"621c5717900c3595d9285e4e","program_id":"6129009420189696","programs":[{"_id":"621b8425900c3595d9cdfec9","program_id":"6129009420189696","timestamp":1645970460917,"rank":53,"votes":2,"forks":0,"comments":0,"commentVotes":0,"replies":0,"hour":14},{"_id":"621b9236900c3595d9d7b4bf","program_id":"6129009420189696","timestamp":1645974061088,"rank":50,"votes":2,"forks":0,"comments":0,"commentVotes":0,"replies":0,"hour":15},{"_id":"621bbc66900c3595d9f23ae3","program_id":"6129009420189696","timestamp":1645984860700,"rank":29,"votes":4,"forks":0,"comments":2,"commentVotes":2,"replies":0,"hour":18},{"_id":"621be695900c3595d9054970","program_id":"6129009420189696","timestamp":1645995660743,"rank":10,"votes":11,"forks":0,"comments":2,"commentVotes":2,"replies":0,"hour":21},{"_id":"621c10c6900c3595d913c005","program_id":"6129009420189696","timestamp":1646006460778,"rank":5,"votes":19,"forks":0,"comments":6,"commentVotes":6,"replies":0,"hour":0},{"_id":"621c3af5900c3595d91feb54","program_id":"6129009420189696","timestamp":1646017260956,"rank":6,"votes":25,"forks":0,"comments":11,"commentVotes":11,"replies":0,"hour":3},{"_id":"621c5717900c3595d9285e4e","program_id":"6129009420189696","timestamp":1646024461003,"rank":6,"votes":25,"forks":0,"comments":11,"commentVotes":11,"replies":0,"hour":5}]},{"_id":"621c5717900c3595d9285e4f","program_id":"6036964512940032","programs":[{"_id":"621b0595900c3595d982a482","program_id":"6036964512940032","timestamp":1645938060783,"rank":24,"votes":6,"forks":0,"comments":3,"commentVotes":5,"replies":4,"hour":5},{"_id":"621b13a5900c3595d987ff04","program_id":"6036964512940032","timestamp":1645941660805,"rank":19,"votes":7,"forks":0,"comments":4,"commentVotes":7,"replies":4,"hour":6},{"_id":"621b3dd6900c3595d99bb1ca","program_id":"6036964512940032","timestamp":1645952461043,"rank":15,"votes":9,"forks":0,"comments":5,"commentVotes":8,"replies":4,"hour":9},{"_id":"621b6806900c3595d9ba2c95","program_id":"6036964512940032","timestamp":1645963260892,"rank":14,"votes":10,"forks":0,"comments":5,"commentVotes":8,"replies":4,"hour":12},{"_id":"621b9236900c3595d9d7b497","program_id":"6036964512940032","timestamp":1645974061088,"rank":10,"votes":12,"forks":0,"comments":8,"commentVotes":14,"replies":4,"hour":15},{"_id":"621bbc66900c3595d9f23ace","program_id":"6036964512940032","timestamp":1645984860700,"rank":8,"votes":16,"forks":0,"comments":11,"commentVotes":19,"replies":14,"hour":18},{"_id":"621be695900c3595d905496d","program_id":"6036964512940032","timestamp":1645995660743,"rank":7,"votes":20,"forks":0,"comments":14,"commentVotes":24,"replies":15,"hour":21},{"_id":"621c10c6900c3595d913c008","program_id":"6036964512940032","timestamp":1646006460778,"rank":8,"votes":23,"forks":0,"comments":14,"commentVotes":23,"replies":26,"hour":0},{"_id":"621c3af5900c3595d91feb55","program_id":"6036964512940032","timestamp":1646017260956,"rank":7,"votes":25,"forks":0,"comments":18,"commentVotes":30,"replies":28,"hour":3},{"_id":"621c5717900c3595d9285e4f","program_id":"6036964512940032","timestamp":1646024461003,"rank":7,"votes":27,"forks":0,"comments":19,"commentVotes":32,"replies":28,"hour":5}]},{"_id":"621c5717900c3595d9285e50","program_id":"5671494538543104","programs":[{"_id":"6218002696170fbdfe33debb","program_id":"5671494538543104","timestamp":1645740060752,"rank":58,"votes":3,"forks":0,"comments":1,"commentVotes":1,"replies":0,"hour":22},{"_id":"62181c4696170fbdfeb1c4e4","program_id":"5671494538543104","timestamp":1645747260778,"rank":18,"votes":11,"forks":0,"comments":7,"commentVotes":7,"replies":7,"hour":0},{"_id":"6218467696170fbdfe8d6380","program_id":"5671494538543104","timestamp":1645758060880,"rank":13,"votes":16,"forks":0,"comments":8,"commentVotes":4,"replies":10,"hour":3},{"_id":"621870a696170fbdfe5f9a7b","program_id":"5671494538543104","timestamp":1645768860800,"rank":10,"votes":20,"forks":0,"comments":12,"commentVotes":9,"replies":12,"hour":6},{"_id":"62189ad696170fbdfe4013a9","program_id":"5671494538543104","timestamp":1645779661177,"rank":9,"votes":23,"forks":0,"comments":12,"commentVotes":9,"replies":12,"hour":9},{"_id":"6218c50896170fbdfe04720b","program_id":"5671494538543104","timestamp":1645790460896,"rank":9,"votes":24,"forks":0,"comments":12,"commentVotes":9,"replies":12,"hour":12},{"_id":"6218ef3696170fbdfe8cb352","program_id":"5671494538543104","timestamp":1645801261005,"rank":5,"votes":30,"forks":0,"comments":14,"commentVotes":12,"replies":14,"hour":15},{"_id":"6219196696170fbdfe3fe55d","program_id":"5671494538543104","timestamp":1645812060739,"rank":1,"votes":76,"forks":6,"comments":22,"commentVotes":22,"replies":29,"hour":18},{"_id":"62196dc7900c3595d9342822","program_id":"5671494538543104","timestamp":1645833661253,"rank":1,"votes":109,"forks":11,"comments":30,"commentVotes":31,"replies":47,"hour":0},{"_id":"621997f5900c3595d97cb974","program_id":"5671494538543104","timestamp":1645844460814,"rank":1,"votes":113,"forks":12,"comments":32,"commentVotes":35,"replies":49,"hour":3},{"_id":"6219c225900c3595d9ba5571","program_id":"5671494538543104","timestamp":1645855260996,"rank":1,"votes":118,"forks":12,"comments":34,"commentVotes":37,"replies":49,"hour":6},{"_id":"6219ec57900c3595d9d6110c","program_id":"5671494538543104","timestamp":1645866061230,"rank":1,"votes":118,"forks":12,"comments":35,"commentVotes":34,"replies":49,"hour":9},{"_id":"621a1686900c3595d9f318f2","program_id":"5671494538543104","timestamp":1645876861288,"rank":1,"votes":119,"forks":12,"comments":35,"commentVotes":34,"replies":49,"hour":12},{"_id":"621a40b6900c3595d9215938","program_id":"5671494538543104","timestamp":1645887660933,"rank":1,"votes":119,"forks":12,"comments":35,"commentVotes":36,"replies":49,"hour":15},{"_id":"621a6ae5900c3595d944439e","program_id":"5671494538543104","timestamp":1645898461322,"rank":1,"votes":125,"forks":12,"comments":34,"commentVotes":32,"replies":63,"hour":18},{"_id":"621a9516900c3595d95cafe0","program_id":"5671494538543104","timestamp":1645909260948,"rank":1,"votes":129,"forks":12,"comments":36,"commentVotes":38,"replies":69,"hour":21},{"_id":"621abf46900c3595d96dc987","program_id":"5671494538543104","timestamp":1645920061347,"rank":2,"votes":131,"forks":13,"comments":37,"commentVotes":39,"replies":84,"hour":0},{"_id":"621ae975900c3595d97aa87e","program_id":"5671494538543104","timestamp":1645930860775,"rank":2,"votes":134,"forks":14,"comments":37,"commentVotes":41,"replies":84,"hour":3},{"_id":"621b13a5900c3595d987fef4","program_id":"5671494538543104","timestamp":1645941660805,"rank":3,"votes":135,"forks":15,"comments":38,"commentVotes":42,"replies":84,"hour":6},{"_id":"621b3dd6900c3595d99bb1be","program_id":"5671494538543104","timestamp":1645952461043,"rank":3,"votes":135,"forks":16,"comments":38,"commentVotes":42,"replies":84,"hour":9},{"_id":"621b6806900c3595d9ba2c8b","program_id":"5671494538543104","timestamp":1645963260892,"rank":4,"votes":135,"forks":16,"comments":38,"commentVotes":42,"replies":84,"hour":12},{"_id":"621b9236900c3595d9d7b493","program_id":"5671494538543104","timestamp":1645974061088,"rank":6,"votes":135,"forks":17,"comments":39,"commentVotes":42,"replies":84,"hour":15},{"_id":"621bbc66900c3595d9f23acc","program_id":"5671494538543104","timestamp":1645984860700,"rank":6,"votes":136,"forks":18,"comments":29,"commentVotes":19,"replies":16,"hour":18},{"_id":"621be695900c3595d905496c","program_id":"5671494538543104","timestamp":1645995660743,"rank":6,"votes":138,"forks":19,"comments":29,"commentVotes":20,"replies":16,"hour":21},{"_id":"621c10c6900c3595d913c007","program_id":"5671494538543104","timestamp":1646006460778,"rank":7,"votes":138,"forks":19,"comments":30,"commentVotes":21,"replies":21,"hour":0},{"_id":"621c3af5900c3595d91feb56","program_id":"5671494538543104","timestamp":1646017260956,"rank":8,"votes":141,"forks":19,"comments":30,"commentVotes":21,"replies":29,"hour":3},{"_id":"621c5717900c3595d9285e50","program_id":"5671494538543104","timestamp":1646024461003,"rank":8,"votes":142,"forks":19,"comments":31,"commentVotes":22,"replies":32,"hour":5}]},{"_id":"621c5717900c3595d9285e51","program_id":"5975576646041600","programs":[{"_id":"621ba046900c3595d9e38a16","program_id":"5975576646041600","timestamp":1645977661112,"rank":27,"votes":4,"forks":0,"comments":3,"commentVotes":5,"replies":3,"hour":16},{"_id":"621bbc66900c3595d9f23ad3","program_id":"5975576646041600","timestamp":1645984860700,"rank":13,"votes":8,"forks":0,"comments":4,"commentVotes":8,"replies":6,"hour":18},{"_id":"621be695900c3595d905496f","program_id":"5975576646041600","timestamp":1645995660743,"rank":9,"votes":11,"forks":0,"comments":6,"commentVotes":11,"replies":34,"hour":21},{"_id":"621c10c6900c3595d913c009","program_id":"5975576646041600","timestamp":1646006460778,"rank":9,"votes":12,"forks":0,"comments":6,"commentVotes":12,"replies":89,"hour":0},{"_id":"621c3af5900c3595d91feb57","program_id":"5975576646041600","timestamp":1646017260956,"rank":9,"votes":14,"forks":0,"comments":6,"commentVotes":12,"replies":97,"hour":3},{"_id":"621c5717900c3595d9285e51","program_id":"5975576646041600","timestamp":1646024461003,"rank":9,"votes":14,"forks":0,"comments":6,"commentVotes":12,"replies":97,"hour":5}]},{"_id":"621c5717900c3595d9285e52","program_id":"6147980928270336","programs":[{"_id":"621c10c6900c3595d913c018","program_id":"6147980928270336","timestamp":1646006460778,"rank":24,"votes":5,"forks":0,"comments":2,"commentVotes":2,"replies":3,"hour":0},{"_id":"621c3af5900c3595d91feb58","program_id":"6147980928270336","timestamp":1646017260956,"rank":10,"votes":10,"forks":0,"comments":5,"commentVotes":5,"replies":3,"hour":3},{"_id":"621c5717900c3595d9285e52","program_id":"6147980928270336","timestamp":1646024461003,"rank":10,"votes":11,"forks":0,"comments":7,"commentVotes":7,"replies":5,"hour":5}]}];
</script>
<script type>
tailwind.config = {
darkMode: 'class'
}
var darkMode = false;
</script>
<script type>
function truncate(str, length) {
if (str.length <= length) return str;
return str.slice(0, length - 3) + '...';
}
var hotlistSnapshot = {};
var scratchpads = hotlistData.scratchpads;
for (const i in scratchpads) {
const scratchpad = scratchpads[i];
const id = scratchpad.url.split('/')[5];
hotlistSnapshot[id] = {
title: scratchpad.title || 'None',
rank: parseInt(i, 10) + 1,
votes: scratchpad.sumVotesIncremented,
forks: scratchpad.spinoffCount
};
}
function prepareMainChart(field = 'votes') {
const series = [];
for (const entry of performanceData) {
const data = entry.programs.map((program) => {
const date = new Date(program.timestamp);
const value = program[field];
return [date, value];
});
series.push({
name: entry.program_id,
data: data
});
}
const labels = [];
series.map((series) => {
if (!hotlistSnapshot[series.name]) return;
const title = hotlistSnapshot[series.name].title;
series.name = title;
labels.push(title);
return series;
});
var mainChartOptions = {
chart: {
animations: {
enabled: false
},
background: darkMode ? 'transparent' : '#fff',
height: '400px',
toolbar: {
autoSelected: 'zoom'
},
type: 'line'
},
grid: {
borderColor: darkMode ? '#6b7280' : '#90A4AE'
},
markers: {
strokeColors: darkMode ? 'transparent' : '#fff'
},
series,
stroke: {
curve: 'smooth'
},
theme: {
mode: darkMode ? 'dark' : 'light'
},
tooltip: {
x: {
show: false,
format: 'dd MMM HH:00'
}
},
xaxis: {
type: 'datetime',
labels: {
datetimeUTC: false
},
title: {
text: 'Time'
}
},
yaxis: {
min: 0,
forceNiceScale: true
}
}
const mainChart = new ApexCharts(document.querySelector("#main-chart"), mainChartOptions);
mainChart.render();
};
function prepareTopChart(field = 'votes') {
let programs = Object.values(hotlistSnapshot).map((program) => {
const label = program.title;
return {
label: label,
value: program[field]
};
});
const fieldTotal = programs.reduce(
(total, entry) => total + entry.value,
0
);
let excludedTotal = 0;
programs = programs
.filter((program) => {
if (program.value / fieldTotal <= 0.01) {
excludedTotal += program.value;
return false;
}
return true;
})
.sort((a, b) => b.value - a.value);
if (excludedTotal > 0) {
programs.push({
label: 'Other',
value: excludedTotal,
color: '#808080'
});
}
const series = programs.map((entry) => entry.value);
const topchartOptions = {
chart: {
animations: {
enabled: false
},
background: darkMode ? 'transparent' : '#fff',
height: '400px',
type: 'pie'
},
labels: programs.map((program) => program.label),
legend: {
show: window.innerWidth > 640,
formatter: (seriesName) => truncate(seriesName, 32),
onItemClick: {
toggleDataSeries: false
}
},
stroke: {
colors: [darkMode ? '#6b7280' : '#fff']
},
theme: {
mode: darkMode ? 'dark' : 'light'
},
series
};
const topChart = new ApexCharts(document.querySelector("#top-chart"), topchartOptions);
topChart.render();
}
function prepareRatioChart() {
const fieldA = 'forks', fieldB = 'votes';
const series = [];
Object.values(hotlistSnapshot).forEach((program) => {
series.push({
name: program.title,
data: [[program[fieldB], program[fieldA]]]
});
});
const ratioChartOptions = {
chart: {
animations: {
enabled: false
},
background: darkMode ? 'transparent' : '#fff',
height: '400px',
toolbar: {
autoSelected: 'pan'
},
type: 'scatter',
zoom: {
enabled: true,
type: 'xy'
}
},
grid: {
borderColor: darkMode ? '#6b7280' : '#90A4AE'
},
legend: {
show: window.innerWidth > 640,
position: 'right',
formatter: (seriesName) => truncate(seriesName, 32),
onItemClick: {
toggleDataSeries: false
}
},
markers: {
strokeColors: darkMode ? 'transparent' : '#fff'
},
theme: {
mode: darkMode ? 'dark' : 'light'
},
tooltip: {
x: {
show: false
},
y: {
formatter: () => null
},
marker: {
show: false
}
},
xaxis: {
reversed: false,
tickAmount: 10,
min: 0,
max: (max) => max,
title: {
text: 'Votes'
}
},
yaxis: {
reversed: false,
tickAmount: 10,
min: 0,
max: (max) => max,
forceNiceScale: true,
title: {
text: 'Forks'
},
tooltip: {
enabled: true
}
},
series
};
const ratioChart = new ApexCharts(document.querySelector("#ratio-chart"), ratioChartOptions);
ratioChart.render();
}
prepareMainChart();
prepareTopChart();
prepareRatioChart();
var fieldSelect = document.getElementById('field');
var fieldChangePrompt = document.getElementById('field-change-prompt');
fieldSelect.addEventListener('change', () => {
prepareMainChart(fieldSelect.value);
fieldChangePrompt.style.display = 'none';
});
var darkModeButton = document.getElementById('dark-mode-button');
var darkModePrompt = document.getElementById('dark-mode-prompt');
darkModeButton.addEventListener('click', () => {
darkMode = !darkMode;
document.documentElement.classList.toggle('dark');
prepareMainChart();
prepareTopChart();
prepareRatioChart();
darkModePrompt.style.display = 'none';
});
document.addEventListener('keypress', e => {
e = e || window.event;
const keyCode = e.keyCode || e.which;
if (keyCode == 96) {
const cover = document.getElementById('cover');
cover.innerHTML = `
<div class="fixed top-0 left-0 w-[400px] h-[400px] bg-[#14bf96] py-auto pt-12">
<div class="pt-8 text-center">
<canvas id="logo-canvas" class="inline"></canvas>
<h1 class="text-6xl font-bold text-white">Khanalytics</h1>
</div>
</div>`;
const canvas = document.getElementById('logo-canvas');
const ctx = canvas.getContext('2d');
const v = canvg.Canvg.fromString(ctx, `<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 512 512"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M480.28,162,276.11,13.64a34.22,34.22,0,0,0-40.22,0L31.72,162a34.2,34.2,0,0,0-12.43,38.24l78,240a34.2,34.2,0,0,0,32.53,23.64H382.19a34.2,34.2,0,0,0,32.53-23.64l78-240A34.2,34.2,0,0,0,480.28,162ZM196.92,199.33,238.08,128a20.7,20.7,0,0,1,35.84,0l41.16,71.31a20.68,20.68,0,0,1-17.91,31H214.83A20.68,20.68,0,0,1,196.92,199.33Zm29.5,156.76H144.09a20.69,20.69,0,0,1-17.92-31l41.17-71.3a20.69,20.69,0,0,1,35.83,0l41.17,71.3A20.69,20.69,0,0,1,226.42,356.09Zm142.07-.36H286.16a20.69,20.69,0,0,1-17.92-31l41.17-71.31a20.69,20.69,0,0,1,35.83,0l41.17,71.31A20.69,20.69,0,0,1,368.49,355.73Z"/></svg>`);
v.start();
}
})
</script>
</body>
</html>