UNPKG

84.4 kBJavaScriptView Raw
1import { J as Be, K as Ze, R as Xe, L as qe, M as Dn, N as $t, O as Mn, P as ye, Q as ke, c as wt, s as Sn, g as _n, C as Un, D as Yn, b as Fn, a as Ln, T as nt, E as En, e as An, A as In, l as qt, j as zt, k as Wn, f as On } from "./mermaid-9f2aa176.js";
2import { b as Hn, t as Ue, c as Nn, a as Vn, l as Pn } from "./linear-9bcf74c4.js";
3import { i as zn } from "./init-f9637058.js";
4function Rn(t, e) {
5 let n;
6 if (e === void 0)
7 for (const r of t)
8 r != null && (n < r || n === void 0 && r >= r) && (n = r);
9 else {
10 let r = -1;
11 for (let i of t)
12 (i = e(i, ++r, t)) != null && (n < i || n === void 0 && i >= i) && (n = i);
13 }
14 return n;
15}
16function Bn(t, e) {
17 let n;
18 if (e === void 0)
19 for (const r of t)
20 r != null && (n > r || n === void 0 && r >= r) && (n = r);
21 else {
22 let r = -1;
23 for (let i of t)
24 (i = e(i, ++r, t)) != null && (n > i || n === void 0 && i >= i) && (n = i);
25 }
26 return n;
27}
28function Zn(t) {
29 return t;
30}
31var Bt = 1, te = 2, ue = 3, Rt = 4, Ye = 1e-6;
32function Xn(t) {
33 return "translate(" + t + ",0)";
34}
35function qn(t) {
36 return "translate(0," + t + ")";
37}
38function Gn(t) {
39 return (e) => +t(e);
40}
41function jn(t, e) {
42 return e = Math.max(0, t.bandwidth() - e * 2) / 2, t.round() && (e = Math.round(e)), (n) => +t(n) + e;
43}
44function Qn() {
45 return !this.__axis;
46}
47function Ge(t, e) {
48 var n = [], r = null, i = null, s = 6, a = 6, k = 3, Y = typeof window < "u" && window.devicePixelRatio > 1 ? 0 : 0.5, g = t === Bt || t === Rt ? -1 : 1, v = t === Rt || t === te ? "x" : "y", U = t === Bt || t === ue ? Xn : qn;
49 function C(b) {
50 var q = r ?? (e.ticks ? e.ticks.apply(e, n) : e.domain()), y = i ?? (e.tickFormat ? e.tickFormat.apply(e, n) : Zn), L = Math.max(s, 0) + k, O = e.range(), W = +O[0] + Y, B = +O[O.length - 1] + Y, Z = (e.bandwidth ? jn : Gn)(e.copy(), Y), Q = b.selection ? b.selection() : b, x = Q.selectAll(".domain").data([null]), A = Q.selectAll(".tick").data(q, e).order(), T = A.exit(), F = A.enter().append("g").attr("class", "tick"), D = A.select("line"), w = A.select("text");
51 x = x.merge(x.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")), A = A.merge(F), D = D.merge(F.append("line").attr("stroke", "currentColor").attr(v + "2", g * s)), w = w.merge(F.append("text").attr("fill", "currentColor").attr(v, g * L).attr("dy", t === Bt ? "0em" : t === ue ? "0.71em" : "0.32em")), b !== Q && (x = x.transition(b), A = A.transition(b), D = D.transition(b), w = w.transition(b), T = T.transition(b).attr("opacity", Ye).attr("transform", function(o) {
52 return isFinite(o = Z(o)) ? U(o + Y) : this.getAttribute("transform");
53 }), F.attr("opacity", Ye).attr("transform", function(o) {
54 var d = this.parentNode.__axis;
55 return U((d && isFinite(d = d(o)) ? d : Z(o)) + Y);
56 })), T.remove(), x.attr("d", t === Rt || t === te ? a ? "M" + g * a + "," + W + "H" + Y + "V" + B + "H" + g * a : "M" + Y + "," + W + "V" + B : a ? "M" + W + "," + g * a + "V" + Y + "H" + B + "V" + g * a : "M" + W + "," + Y + "H" + B), A.attr("opacity", 1).attr("transform", function(o) {
57 return U(Z(o) + Y);
58 }), D.attr(v + "2", g * s), w.attr(v, g * L).text(y), Q.filter(Qn).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", t === te ? "start" : t === Rt ? "end" : "middle"), Q.each(function() {
59 this.__axis = Z;
60 });
61 }
62 return C.scale = function(b) {
63 return arguments.length ? (e = b, C) : e;
64 }, C.ticks = function() {
65 return n = Array.from(arguments), C;
66 }, C.tickArguments = function(b) {
67 return arguments.length ? (n = b == null ? [] : Array.from(b), C) : n.slice();
68 }, C.tickValues = function(b) {
69 return arguments.length ? (r = b == null ? null : Array.from(b), C) : r && r.slice();
70 }, C.tickFormat = function(b) {
71 return arguments.length ? (i = b, C) : i;
72 }, C.tickSize = function(b) {
73 return arguments.length ? (s = a = +b, C) : s;
74 }, C.tickSizeInner = function(b) {
75 return arguments.length ? (s = +b, C) : s;
76 }, C.tickSizeOuter = function(b) {
77 return arguments.length ? (a = +b, C) : a;
78 }, C.tickPadding = function(b) {
79 return arguments.length ? (k = +b, C) : k;
80 }, C.offset = function(b) {
81 return arguments.length ? (Y = +b, C) : Y;
82 }, C;
83}
84function Jn(t) {
85 return Ge(Bt, t);
86}
87function Kn(t) {
88 return Ge(ue, t);
89}
90const $n = Math.PI / 180, tr = 180 / Math.PI, Gt = 18, je = 0.96422, Qe = 1, Je = 0.82521, Ke = 4 / 29, Ct = 6 / 29, $e = 3 * Ct * Ct, er = Ct * Ct * Ct;
91function tn(t) {
92 if (t instanceof ot)
93 return new ot(t.l, t.a, t.b, t.opacity);
94 if (t instanceof ut)
95 return en(t);
96 t instanceof Xe || (t = Dn(t));
97 var e = ie(t.r), n = ie(t.g), r = ie(t.b), i = ee((0.2225045 * e + 0.7168786 * n + 0.0606169 * r) / Qe), s, a;
98 return e === n && n === r ? s = a = i : (s = ee((0.4360747 * e + 0.3850649 * n + 0.1430804 * r) / je), a = ee((0.0139322 * e + 0.0971045 * n + 0.7141733 * r) / Je)), new ot(116 * i - 16, 500 * (s - i), 200 * (i - a), t.opacity);
99}
100function nr(t, e, n, r) {
101 return arguments.length === 1 ? tn(t) : new ot(t, e, n, r ?? 1);
102}
103function ot(t, e, n, r) {
104 this.l = +t, this.a = +e, this.b = +n, this.opacity = +r;
105}
106Be(ot, nr, Ze(qe, {
107 brighter(t) {
108 return new ot(this.l + Gt * (t ?? 1), this.a, this.b, this.opacity);
109 },
110 darker(t) {
111 return new ot(this.l - Gt * (t ?? 1), this.a, this.b, this.opacity);
112 },
113 rgb() {
114 var t = (this.l + 16) / 116, e = isNaN(this.a) ? t : t + this.a / 500, n = isNaN(this.b) ? t : t - this.b / 200;
115 return e = je * ne(e), t = Qe * ne(t), n = Je * ne(n), new Xe(
116 re(3.1338561 * e - 1.6168667 * t - 0.4906146 * n),
117 re(-0.9787684 * e + 1.9161415 * t + 0.033454 * n),
118 re(0.0719453 * e - 0.2289914 * t + 1.4052427 * n),
119 this.opacity
120 );
121 }
122}));
123function ee(t) {
124 return t > er ? Math.pow(t, 1 / 3) : t / $e + Ke;
125}
126function ne(t) {
127 return t > Ct ? t * t * t : $e * (t - Ke);
128}
129function re(t) {
130 return 255 * (t <= 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055);
131}
132function ie(t) {
133 return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
134}
135function rr(t) {
136 if (t instanceof ut)
137 return new ut(t.h, t.c, t.l, t.opacity);
138 if (t instanceof ot || (t = tn(t)), t.a === 0 && t.b === 0)
139 return new ut(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity);
140 var e = Math.atan2(t.b, t.a) * tr;
141 return new ut(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity);
142}
143function fe(t, e, n, r) {
144 return arguments.length === 1 ? rr(t) : new ut(t, e, n, r ?? 1);
145}
146function ut(t, e, n, r) {
147 this.h = +t, this.c = +e, this.l = +n, this.opacity = +r;
148}
149function en(t) {
150 if (isNaN(t.h))
151 return new ot(t.l, 0, 0, t.opacity);
152 var e = t.h * $n;
153 return new ot(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity);
154}
155Be(ut, fe, Ze(qe, {
156 brighter(t) {
157 return new ut(this.h, this.c, this.l + Gt * (t ?? 1), this.opacity);
158 },
159 darker(t) {
160 return new ut(this.h, this.c, this.l - Gt * (t ?? 1), this.opacity);
161 },
162 rgb() {
163 return en(this).rgb();
164 }
165}));
166function ir(t) {
167 return function(e, n) {
168 var r = t((e = fe(e)).h, (n = fe(n)).h), i = $t(e.c, n.c), s = $t(e.l, n.l), a = $t(e.opacity, n.opacity);
169 return function(k) {
170 return e.h = r(k), e.c = i(k), e.l = s(k), e.opacity = a(k), e + "";
171 };
172 };
173}
174const sr = ir(Mn);
175function ar(t, e) {
176 t = t.slice();
177 var n = 0, r = t.length - 1, i = t[n], s = t[r], a;
178 return s < i && (a = n, n = r, r = a, a = i, i = s, s = a), t[n] = e.floor(i), t[r] = e.ceil(s), t;
179}
180const se = /* @__PURE__ */ new Date(), ae = /* @__PURE__ */ new Date();
181function $(t, e, n, r) {
182 function i(s) {
183 return t(s = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+s)), s;
184 }
185 return i.floor = (s) => (t(s = /* @__PURE__ */ new Date(+s)), s), i.ceil = (s) => (t(s = new Date(s - 1)), e(s, 1), t(s), s), i.round = (s) => {
186 const a = i(s), k = i.ceil(s);
187 return s - a < k - s ? a : k;
188 }, i.offset = (s, a) => (e(s = /* @__PURE__ */ new Date(+s), a == null ? 1 : Math.floor(a)), s), i.range = (s, a, k) => {
189 const Y = [];
190 if (s = i.ceil(s), k = k == null ? 1 : Math.floor(k), !(s < a) || !(k > 0))
191 return Y;
192 let g;
193 do
194 Y.push(g = /* @__PURE__ */ new Date(+s)), e(s, k), t(s);
195 while (g < s && s < a);
196 return Y;
197 }, i.filter = (s) => $((a) => {
198 if (a >= a)
199 for (; t(a), !s(a); )
200 a.setTime(a - 1);
201 }, (a, k) => {
202 if (a >= a)
203 if (k < 0)
204 for (; ++k <= 0; )
205 for (; e(a, -1), !s(a); )
206 ;
207 else
208 for (; --k >= 0; )
209 for (; e(a, 1), !s(a); )
210 ;
211 }), n && (i.count = (s, a) => (se.setTime(+s), ae.setTime(+a), t(se), t(ae), Math.floor(n(se, ae))), i.every = (s) => (s = Math.floor(s), !isFinite(s) || !(s > 0) ? null : s > 1 ? i.filter(r ? (a) => r(a) % s === 0 : (a) => i.count(0, a) % s === 0) : i)), i;
212}
213const Mt = $(() => {
214}, (t, e) => {
215 t.setTime(+t + e);
216}, (t, e) => e - t);
217Mt.every = (t) => (t = Math.floor(t), !isFinite(t) || !(t > 0) ? null : t > 1 ? $((e) => {
218 e.setTime(Math.floor(e / t) * t);
219}, (e, n) => {
220 e.setTime(+e + n * t);
221}, (e, n) => (n - e) / t) : Mt);
222Mt.range;
223const ft = 1e3, rt = ft * 60, ht = rt * 60, dt = ht * 24, pe = dt * 7, Fe = dt * 30, oe = dt * 365, gt = $((t) => {
224 t.setTime(t - t.getMilliseconds());
225}, (t, e) => {
226 t.setTime(+t + e * ft);
227}, (t, e) => (e - t) / ft, (t) => t.getUTCSeconds());
228gt.range;
229const Et = $((t) => {
230 t.setTime(t - t.getMilliseconds() - t.getSeconds() * ft);
231}, (t, e) => {
232 t.setTime(+t + e * rt);
233}, (t, e) => (e - t) / rt, (t) => t.getMinutes());
234Et.range;
235const or = $((t) => {
236 t.setUTCSeconds(0, 0);
237}, (t, e) => {
238 t.setTime(+t + e * rt);
239}, (t, e) => (e - t) / rt, (t) => t.getUTCMinutes());
240or.range;
241const At = $((t) => {
242 t.setTime(t - t.getMilliseconds() - t.getSeconds() * ft - t.getMinutes() * rt);
243}, (t, e) => {
244 t.setTime(+t + e * ht);
245}, (t, e) => (e - t) / ht, (t) => t.getHours());
246At.range;
247const cr = $((t) => {
248 t.setUTCMinutes(0, 0, 0);
249}, (t, e) => {
250 t.setTime(+t + e * ht);
251}, (t, e) => (e - t) / ht, (t) => t.getUTCHours());
252cr.range;
253const yt = $(
254 (t) => t.setHours(0, 0, 0, 0),
255 (t, e) => t.setDate(t.getDate() + e),
256 (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * rt) / dt,
257 (t) => t.getDate() - 1
258);
259yt.range;
260const Te = $((t) => {
261 t.setUTCHours(0, 0, 0, 0);
262}, (t, e) => {
263 t.setUTCDate(t.getUTCDate() + e);
264}, (t, e) => (e - t) / dt, (t) => t.getUTCDate() - 1);
265Te.range;
266const lr = $((t) => {
267 t.setUTCHours(0, 0, 0, 0);
268}, (t, e) => {
269 t.setUTCDate(t.getUTCDate() + e);
270}, (t, e) => (e - t) / dt, (t) => Math.floor(t / dt));
271lr.range;
272function Tt(t) {
273 return $((e) => {
274 e.setDate(e.getDate() - (e.getDay() + 7 - t) % 7), e.setHours(0, 0, 0, 0);
275 }, (e, n) => {
276 e.setDate(e.getDate() + n * 7);
277 }, (e, n) => (n - e - (n.getTimezoneOffset() - e.getTimezoneOffset()) * rt) / pe);
278}
279const Ot = Tt(0), It = Tt(1), nn = Tt(2), rn = Tt(3), kt = Tt(4), sn = Tt(5), an = Tt(6);
280Ot.range;
281It.range;
282nn.range;
283rn.range;
284kt.range;
285sn.range;
286an.range;
287function bt(t) {
288 return $((e) => {
289 e.setUTCDate(e.getUTCDate() - (e.getUTCDay() + 7 - t) % 7), e.setUTCHours(0, 0, 0, 0);
290 }, (e, n) => {
291 e.setUTCDate(e.getUTCDate() + n * 7);
292 }, (e, n) => (n - e) / pe);
293}
294const on = bt(0), jt = bt(1), ur = bt(2), fr = bt(3), St = bt(4), hr = bt(5), dr = bt(6);
295on.range;
296jt.range;
297ur.range;
298fr.range;
299St.range;
300hr.range;
301dr.range;
302const Wt = $((t) => {
303 t.setDate(1), t.setHours(0, 0, 0, 0);
304}, (t, e) => {
305 t.setMonth(t.getMonth() + e);
306}, (t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12, (t) => t.getMonth());
307Wt.range;
308const mr = $((t) => {
309 t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0);
310}, (t, e) => {
311 t.setUTCMonth(t.getUTCMonth() + e);
312}, (t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12, (t) => t.getUTCMonth());
313mr.range;
314const mt = $((t) => {
315 t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
316}, (t, e) => {
317 t.setFullYear(t.getFullYear() + e);
318}, (t, e) => e.getFullYear() - t.getFullYear(), (t) => t.getFullYear());
319mt.every = (t) => !isFinite(t = Math.floor(t)) || !(t > 0) ? null : $((e) => {
320 e.setFullYear(Math.floor(e.getFullYear() / t) * t), e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
321}, (e, n) => {
322 e.setFullYear(e.getFullYear() + n * t);
323});
324mt.range;
325const pt = $((t) => {
326 t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
327}, (t, e) => {
328 t.setUTCFullYear(t.getUTCFullYear() + e);
329}, (t, e) => e.getUTCFullYear() - t.getUTCFullYear(), (t) => t.getUTCFullYear());
330pt.every = (t) => !isFinite(t = Math.floor(t)) || !(t > 0) ? null : $((e) => {
331 e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
332}, (e, n) => {
333 e.setUTCFullYear(e.getUTCFullYear() + n * t);
334});
335pt.range;
336function gr(t, e, n, r, i, s) {
337 const a = [
338 [gt, 1, ft],
339 [gt, 5, 5 * ft],
340 [gt, 15, 15 * ft],
341 [gt, 30, 30 * ft],
342 [s, 1, rt],
343 [s, 5, 5 * rt],
344 [s, 15, 15 * rt],
345 [s, 30, 30 * rt],
346 [i, 1, ht],
347 [i, 3, 3 * ht],
348 [i, 6, 6 * ht],
349 [i, 12, 12 * ht],
350 [r, 1, dt],
351 [r, 2, 2 * dt],
352 [n, 1, pe],
353 [e, 1, Fe],
354 [e, 3, 3 * Fe],
355 [t, 1, oe]
356 ];
357 function k(g, v, U) {
358 const C = v < g;
359 C && ([g, v] = [v, g]);
360 const b = U && typeof U.range == "function" ? U : Y(g, v, U), q = b ? b.range(g, +v + 1) : [];
361 return C ? q.reverse() : q;
362 }
363 function Y(g, v, U) {
364 const C = Math.abs(v - g) / U, b = Hn(([, , L]) => L).right(a, C);
365 if (b === a.length)
366 return t.every(Ue(g / oe, v / oe, U));
367 if (b === 0)
368 return Mt.every(Math.max(Ue(g, v, U), 1));
369 const [q, y] = a[C / a[b - 1][2] < a[b][2] / C ? b - 1 : b];
370 return q.every(y);
371 }
372 return [k, Y];
373}
374const [yr, kr] = gr(mt, Wt, Ot, yt, At, Et);
375function ce(t) {
376 if (0 <= t.y && t.y < 100) {
377 var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L);
378 return e.setFullYear(t.y), e;
379 }
380 return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L);
381}
382function le(t) {
383 if (0 <= t.y && t.y < 100) {
384 var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L));
385 return e.setUTCFullYear(t.y), e;
386 }
387 return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L));
388}
389function Yt(t, e, n) {
390 return { y: t, m: e, d: n, H: 0, M: 0, S: 0, L: 0 };
391}
392function pr(t) {
393 var e = t.dateTime, n = t.date, r = t.time, i = t.periods, s = t.days, a = t.shortDays, k = t.months, Y = t.shortMonths, g = Ft(i), v = Lt(i), U = Ft(s), C = Lt(s), b = Ft(a), q = Lt(a), y = Ft(k), L = Lt(k), O = Ft(Y), W = Lt(Y), B = {
394 a: c,
395 A: X,
396 b: f,
397 B: h,
398 c: null,
399 d: Oe,
400 e: Oe,
401 f: Pr,
402 g: Jr,
403 G: $r,
404 H: Hr,
405 I: Nr,
406 j: Vr,
407 L: cn,
408 m: zr,
409 M: Rr,
410 p: _,
411 q: G,
412 Q: Ve,
413 s: Pe,
414 S: Br,
415 u: Zr,
416 U: Xr,
417 V: qr,
418 w: Gr,
419 W: jr,
420 x: null,
421 X: null,
422 y: Qr,
423 Y: Kr,
424 Z: ti,
425 "%": Ne
426 }, Z = {
427 a: H,
428 A: V,
429 b: I,
430 B: P,
431 c: null,
432 d: He,
433 e: He,
434 f: ii,
435 g: mi,
436 G: yi,
437 H: ei,
438 I: ni,
439 j: ri,
440 L: un,
441 m: si,
442 M: ai,
443 p: st,
444 q: it,
445 Q: Ve,
446 s: Pe,
447 S: oi,
448 u: ci,
449 U: li,
450 V: ui,
451 w: fi,
452 W: hi,
453 x: null,
454 X: null,
455 y: di,
456 Y: gi,
457 Z: ki,
458 "%": Ne
459 }, Q = {
460 a: D,
461 A: w,
462 b: o,
463 B: d,
464 c: m,
465 d: Ie,
466 e: Ie,
467 f: Ar,
468 g: Ae,
469 G: Ee,
470 H: We,
471 I: We,
472 j: Yr,
473 L: Er,
474 m: Ur,
475 M: Fr,
476 p: F,
477 q: _r,
478 Q: Wr,
479 s: Or,
480 S: Lr,
481 u: wr,
482 U: Cr,
483 V: Dr,
484 w: xr,
485 W: Mr,
486 x: u,
487 X: S,
488 y: Ae,
489 Y: Ee,
490 Z: Sr,
491 "%": Ir
492 };
493 B.x = x(n, B), B.X = x(r, B), B.c = x(e, B), Z.x = x(n, Z), Z.X = x(r, Z), Z.c = x(e, Z);
494 function x(p, E) {
495 return function(M) {
496 var l = [], R = -1, N = 0, j = p.length, J, et, Ut;
497 for (M instanceof Date || (M = /* @__PURE__ */ new Date(+M)); ++R < j; )
498 p.charCodeAt(R) === 37 && (l.push(p.slice(N, R)), (et = Le[J = p.charAt(++R)]) != null ? J = p.charAt(++R) : et = J === "e" ? " " : "0", (Ut = E[J]) && (J = Ut(M, et)), l.push(J), N = R + 1);
499 return l.push(p.slice(N, R)), l.join("");
500 };
501 }
502 function A(p, E) {
503 return function(M) {
504 var l = Yt(1900, void 0, 1), R = T(l, p, M += "", 0), N, j;
505 if (R != M.length)
506 return null;
507 if ("Q" in l)
508 return new Date(l.Q);
509 if ("s" in l)
510 return new Date(l.s * 1e3 + ("L" in l ? l.L : 0));
511 if (E && !("Z" in l) && (l.Z = 0), "p" in l && (l.H = l.H % 12 + l.p * 12), l.m === void 0 && (l.m = "q" in l ? l.q : 0), "V" in l) {
512 if (l.V < 1 || l.V > 53)
513 return null;
514 "w" in l || (l.w = 1), "Z" in l ? (N = le(Yt(l.y, 0, 1)), j = N.getUTCDay(), N = j > 4 || j === 0 ? jt.ceil(N) : jt(N), N = Te.offset(N, (l.V - 1) * 7), l.y = N.getUTCFullYear(), l.m = N.getUTCMonth(), l.d = N.getUTCDate() + (l.w + 6) % 7) : (N = ce(Yt(l.y, 0, 1)), j = N.getDay(), N = j > 4 || j === 0 ? It.ceil(N) : It(N), N = yt.offset(N, (l.V - 1) * 7), l.y = N.getFullYear(), l.m = N.getMonth(), l.d = N.getDate() + (l.w + 6) % 7);
515 } else
516 ("W" in l || "U" in l) && ("w" in l || (l.w = "u" in l ? l.u % 7 : "W" in l ? 1 : 0), j = "Z" in l ? le(Yt(l.y, 0, 1)).getUTCDay() : ce(Yt(l.y, 0, 1)).getDay(), l.m = 0, l.d = "W" in l ? (l.w + 6) % 7 + l.W * 7 - (j + 5) % 7 : l.w + l.U * 7 - (j + 6) % 7);
517 return "Z" in l ? (l.H += l.Z / 100 | 0, l.M += l.Z % 100, le(l)) : ce(l);
518 };
519 }
520 function T(p, E, M, l) {
521 for (var R = 0, N = E.length, j = M.length, J, et; R < N; ) {
522 if (l >= j)
523 return -1;
524 if (J = E.charCodeAt(R++), J === 37) {
525 if (J = E.charAt(R++), et = Q[J in Le ? E.charAt(R++) : J], !et || (l = et(p, M, l)) < 0)
526 return -1;
527 } else if (J != M.charCodeAt(l++))
528 return -1;
529 }
530 return l;
531 }
532 function F(p, E, M) {
533 var l = g.exec(E.slice(M));
534 return l ? (p.p = v.get(l[0].toLowerCase()), M + l[0].length) : -1;
535 }
536 function D(p, E, M) {
537 var l = b.exec(E.slice(M));
538 return l ? (p.w = q.get(l[0].toLowerCase()), M + l[0].length) : -1;
539 }
540 function w(p, E, M) {
541 var l = U.exec(E.slice(M));
542 return l ? (p.w = C.get(l[0].toLowerCase()), M + l[0].length) : -1;
543 }
544 function o(p, E, M) {
545 var l = O.exec(E.slice(M));
546 return l ? (p.m = W.get(l[0].toLowerCase()), M + l[0].length) : -1;
547 }
548 function d(p, E, M) {
549 var l = y.exec(E.slice(M));
550 return l ? (p.m = L.get(l[0].toLowerCase()), M + l[0].length) : -1;
551 }
552 function m(p, E, M) {
553 return T(p, e, E, M);
554 }
555 function u(p, E, M) {
556 return T(p, n, E, M);
557 }
558 function S(p, E, M) {
559 return T(p, r, E, M);
560 }
561 function c(p) {
562 return a[p.getDay()];
563 }
564 function X(p) {
565 return s[p.getDay()];
566 }
567 function f(p) {
568 return Y[p.getMonth()];
569 }
570 function h(p) {
571 return k[p.getMonth()];
572 }
573 function _(p) {
574 return i[+(p.getHours() >= 12)];
575 }
576 function G(p) {
577 return 1 + ~~(p.getMonth() / 3);
578 }
579 function H(p) {
580 return a[p.getUTCDay()];
581 }
582 function V(p) {
583 return s[p.getUTCDay()];
584 }
585 function I(p) {
586 return Y[p.getUTCMonth()];
587 }
588 function P(p) {
589 return k[p.getUTCMonth()];
590 }
591 function st(p) {
592 return i[+(p.getUTCHours() >= 12)];
593 }
594 function it(p) {
595 return 1 + ~~(p.getUTCMonth() / 3);
596 }
597 return {
598 format: function(p) {
599 var E = x(p += "", B);
600 return E.toString = function() {
601 return p;
602 }, E;
603 },
604 parse: function(p) {
605 var E = A(p += "", !1);
606 return E.toString = function() {
607 return p;
608 }, E;
609 },
610 utcFormat: function(p) {
611 var E = x(p += "", Z);
612 return E.toString = function() {
613 return p;
614 }, E;
615 },
616 utcParse: function(p) {
617 var E = A(p += "", !0);
618 return E.toString = function() {
619 return p;
620 }, E;
621 }
622 };
623}
624var Le = { "-": "", _: " ", 0: "0" }, tt = /^\s*\d+/, Tr = /^%/, br = /[\\^$*+?|[\]().{}]/g;
625function z(t, e, n) {
626 var r = t < 0 ? "-" : "", i = (r ? -t : t) + "", s = i.length;
627 return r + (s < n ? new Array(n - s + 1).join(e) + i : i);
628}
629function vr(t) {
630 return t.replace(br, "\\$&");
631}
632function Ft(t) {
633 return new RegExp("^(?:" + t.map(vr).join("|") + ")", "i");
634}
635function Lt(t) {
636 return new Map(t.map((e, n) => [e.toLowerCase(), n]));
637}
638function xr(t, e, n) {
639 var r = tt.exec(e.slice(n, n + 1));
640 return r ? (t.w = +r[0], n + r[0].length) : -1;
641}
642function wr(t, e, n) {
643 var r = tt.exec(e.slice(n, n + 1));
644 return r ? (t.u = +r[0], n + r[0].length) : -1;
645}
646function Cr(t, e, n) {
647 var r = tt.exec(e.slice(n, n + 2));
648 return r ? (t.U = +r[0], n + r[0].length) : -1;
649}
650function Dr(t, e, n) {
651 var r = tt.exec(e.slice(n, n + 2));
652 return r ? (t.V = +r[0], n + r[0].length) : -1;
653}
654function Mr(t, e, n) {
655 var r = tt.exec(e.slice(n, n + 2));
656 return r ? (t.W = +r[0], n + r[0].length) : -1;
657}
658function Ee(t, e, n) {
659 var r = tt.exec(e.slice(n, n + 4));
660 return r ? (t.y = +r[0], n + r[0].length) : -1;
661}
662function Ae(t, e, n) {
663 var r = tt.exec(e.slice(n, n + 2));
664 return r ? (t.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), n + r[0].length) : -1;
665}
666function Sr(t, e, n) {
667 var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n, n + 6));
668 return r ? (t.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), n + r[0].length) : -1;
669}
670function _r(t, e, n) {
671 var r = tt.exec(e.slice(n, n + 1));
672 return r ? (t.q = r[0] * 3 - 3, n + r[0].length) : -1;
673}
674function Ur(t, e, n) {
675 var r = tt.exec(e.slice(n, n + 2));
676 return r ? (t.m = r[0] - 1, n + r[0].length) : -1;
677}
678function Ie(t, e, n) {
679 var r = tt.exec(e.slice(n, n + 2));
680 return r ? (t.d = +r[0], n + r[0].length) : -1;
681}
682function Yr(t, e, n) {
683 var r = tt.exec(e.slice(n, n + 3));
684 return r ? (t.m = 0, t.d = +r[0], n + r[0].length) : -1;
685}
686function We(t, e, n) {
687 var r = tt.exec(e.slice(n, n + 2));
688 return r ? (t.H = +r[0], n + r[0].length) : -1;
689}
690function Fr(t, e, n) {
691 var r = tt.exec(e.slice(n, n + 2));
692 return r ? (t.M = +r[0], n + r[0].length) : -1;
693}
694function Lr(t, e, n) {
695 var r = tt.exec(e.slice(n, n + 2));
696 return r ? (t.S = +r[0], n + r[0].length) : -1;
697}
698function Er(t, e, n) {
699 var r = tt.exec(e.slice(n, n + 3));
700 return r ? (t.L = +r[0], n + r[0].length) : -1;
701}
702function Ar(t, e, n) {
703 var r = tt.exec(e.slice(n, n + 6));
704 return r ? (t.L = Math.floor(r[0] / 1e3), n + r[0].length) : -1;
705}
706function Ir(t, e, n) {
707 var r = Tr.exec(e.slice(n, n + 1));
708 return r ? n + r[0].length : -1;
709}
710function Wr(t, e, n) {
711 var r = tt.exec(e.slice(n));
712 return r ? (t.Q = +r[0], n + r[0].length) : -1;
713}
714function Or(t, e, n) {
715 var r = tt.exec(e.slice(n));
716 return r ? (t.s = +r[0], n + r[0].length) : -1;
717}
718function Oe(t, e) {
719 return z(t.getDate(), e, 2);
720}
721function Hr(t, e) {
722 return z(t.getHours(), e, 2);
723}
724function Nr(t, e) {
725 return z(t.getHours() % 12 || 12, e, 2);
726}
727function Vr(t, e) {
728 return z(1 + yt.count(mt(t), t), e, 3);
729}
730function cn(t, e) {
731 return z(t.getMilliseconds(), e, 3);
732}
733function Pr(t, e) {
734 return cn(t, e) + "000";
735}
736function zr(t, e) {
737 return z(t.getMonth() + 1, e, 2);
738}
739function Rr(t, e) {
740 return z(t.getMinutes(), e, 2);
741}
742function Br(t, e) {
743 return z(t.getSeconds(), e, 2);
744}
745function Zr(t) {
746 var e = t.getDay();
747 return e === 0 ? 7 : e;
748}
749function Xr(t, e) {
750 return z(Ot.count(mt(t) - 1, t), e, 2);
751}
752function ln(t) {
753 var e = t.getDay();
754 return e >= 4 || e === 0 ? kt(t) : kt.ceil(t);
755}
756function qr(t, e) {
757 return t = ln(t), z(kt.count(mt(t), t) + (mt(t).getDay() === 4), e, 2);
758}
759function Gr(t) {
760 return t.getDay();
761}
762function jr(t, e) {
763 return z(It.count(mt(t) - 1, t), e, 2);
764}
765function Qr(t, e) {
766 return z(t.getFullYear() % 100, e, 2);
767}
768function Jr(t, e) {
769 return t = ln(t), z(t.getFullYear() % 100, e, 2);
770}
771function Kr(t, e) {
772 return z(t.getFullYear() % 1e4, e, 4);
773}
774function $r(t, e) {
775 var n = t.getDay();
776 return t = n >= 4 || n === 0 ? kt(t) : kt.ceil(t), z(t.getFullYear() % 1e4, e, 4);
777}
778function ti(t) {
779 var e = t.getTimezoneOffset();
780 return (e > 0 ? "-" : (e *= -1, "+")) + z(e / 60 | 0, "0", 2) + z(e % 60, "0", 2);
781}
782function He(t, e) {
783 return z(t.getUTCDate(), e, 2);
784}
785function ei(t, e) {
786 return z(t.getUTCHours(), e, 2);
787}
788function ni(t, e) {
789 return z(t.getUTCHours() % 12 || 12, e, 2);
790}
791function ri(t, e) {
792 return z(1 + Te.count(pt(t), t), e, 3);
793}
794function un(t, e) {
795 return z(t.getUTCMilliseconds(), e, 3);
796}
797function ii(t, e) {
798 return un(t, e) + "000";
799}
800function si(t, e) {
801 return z(t.getUTCMonth() + 1, e, 2);
802}
803function ai(t, e) {
804 return z(t.getUTCMinutes(), e, 2);
805}
806function oi(t, e) {
807 return z(t.getUTCSeconds(), e, 2);
808}
809function ci(t) {
810 var e = t.getUTCDay();
811 return e === 0 ? 7 : e;
812}
813function li(t, e) {
814 return z(on.count(pt(t) - 1, t), e, 2);
815}
816function fn(t) {
817 var e = t.getUTCDay();
818 return e >= 4 || e === 0 ? St(t) : St.ceil(t);
819}
820function ui(t, e) {
821 return t = fn(t), z(St.count(pt(t), t) + (pt(t).getUTCDay() === 4), e, 2);
822}
823function fi(t) {
824 return t.getUTCDay();
825}
826function hi(t, e) {
827 return z(jt.count(pt(t) - 1, t), e, 2);
828}
829function di(t, e) {
830 return z(t.getUTCFullYear() % 100, e, 2);
831}
832function mi(t, e) {
833 return t = fn(t), z(t.getUTCFullYear() % 100, e, 2);
834}
835function gi(t, e) {
836 return z(t.getUTCFullYear() % 1e4, e, 4);
837}
838function yi(t, e) {
839 var n = t.getUTCDay();
840 return t = n >= 4 || n === 0 ? St(t) : St.ceil(t), z(t.getUTCFullYear() % 1e4, e, 4);
841}
842function ki() {
843 return "+0000";
844}
845function Ne() {
846 return "%";
847}
848function Ve(t) {
849 return +t;
850}
851function Pe(t) {
852 return Math.floor(+t / 1e3);
853}
854var xt, Qt;
855pi({
856 dateTime: "%x, %X",
857 date: "%-m/%-d/%Y",
858 time: "%-I:%M:%S %p",
859 periods: ["AM", "PM"],
860 days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
861 shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
862 months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
863 shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
864});
865function pi(t) {
866 return xt = pr(t), Qt = xt.format, xt.parse, xt.utcFormat, xt.utcParse, xt;
867}
868function Ti(t) {
869 return new Date(t);
870}
871function bi(t) {
872 return t instanceof Date ? +t : +/* @__PURE__ */ new Date(+t);
873}
874function hn(t, e, n, r, i, s, a, k, Y, g) {
875 var v = Nn(), U = v.invert, C = v.domain, b = g(".%L"), q = g(":%S"), y = g("%I:%M"), L = g("%I %p"), O = g("%a %d"), W = g("%b %d"), B = g("%B"), Z = g("%Y");
876 function Q(x) {
877 return (Y(x) < x ? b : k(x) < x ? q : a(x) < x ? y : s(x) < x ? L : r(x) < x ? i(x) < x ? O : W : n(x) < x ? B : Z)(x);
878 }
879 return v.invert = function(x) {
880 return new Date(U(x));
881 }, v.domain = function(x) {
882 return arguments.length ? C(Array.from(x, bi)) : C().map(Ti);
883 }, v.ticks = function(x) {
884 var A = C();
885 return t(A[0], A[A.length - 1], x ?? 10);
886 }, v.tickFormat = function(x, A) {
887 return A == null ? Q : g(A);
888 }, v.nice = function(x) {
889 var A = C();
890 return (!x || typeof x.range != "function") && (x = e(A[0], A[A.length - 1], x ?? 10)), x ? C(ar(A, x)) : v;
891 }, v.copy = function() {
892 return Vn(v, hn(t, e, n, r, i, s, a, k, Y, g));
893 }, v;
894}
895function vi() {
896 return zn.apply(hn(yr, kr, mt, Wt, Ot, yt, At, Et, gt, Qt).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
897}
898var he = function() {
899 var t = function(w, o, d, m) {
900 for (d = d || {}, m = w.length; m--; d[w[m]] = o)
901 ;
902 return d;
903 }, e = [6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 35, 37], n = [1, 25], r = [1, 26], i = [1, 27], s = [1, 28], a = [1, 29], k = [1, 30], Y = [1, 31], g = [1, 9], v = [1, 10], U = [1, 11], C = [1, 12], b = [1, 13], q = [1, 14], y = [1, 15], L = [1, 16], O = [1, 18], W = [1, 19], B = [1, 20], Z = [1, 21], Q = [1, 22], x = [1, 24], A = [1, 32], T = {
904 trace: function() {
905 },
906 yy: {},
907 symbols_: { error: 2, start: 3, gantt: 4, document: 5, EOF: 6, line: 7, SPACE: 8, statement: 9, NL: 10, weekday: 11, weekday_monday: 12, weekday_tuesday: 13, weekday_wednesday: 14, weekday_thursday: 15, weekday_friday: 16, weekday_saturday: 17, weekday_sunday: 18, dateFormat: 19, inclusiveEndDates: 20, topAxis: 21, axisFormat: 22, tickInterval: 23, excludes: 24, includes: 25, todayMarker: 26, title: 27, acc_title: 28, acc_title_value: 29, acc_descr: 30, acc_descr_value: 31, acc_descr_multiline_value: 32, section: 33, clickStatement: 34, taskTxt: 35, taskData: 36, click: 37, callbackname: 38, callbackargs: 39, href: 40, clickStatementDebug: 41, $accept: 0, $end: 1 },
908 terminals_: { 2: "error", 4: "gantt", 6: "EOF", 8: "SPACE", 10: "NL", 12: "weekday_monday", 13: "weekday_tuesday", 14: "weekday_wednesday", 15: "weekday_thursday", 16: "weekday_friday", 17: "weekday_saturday", 18: "weekday_sunday", 19: "dateFormat", 20: "inclusiveEndDates", 21: "topAxis", 22: "axisFormat", 23: "tickInterval", 24: "excludes", 25: "includes", 26: "todayMarker", 27: "title", 28: "acc_title", 29: "acc_title_value", 30: "acc_descr", 31: "acc_descr_value", 32: "acc_descr_multiline_value", 33: "section", 35: "taskTxt", 36: "taskData", 37: "click", 38: "callbackname", 39: "callbackargs", 40: "href" },
909 productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 1], [9, 2], [34, 2], [34, 3], [34, 3], [34, 4], [34, 3], [34, 4], [34, 2], [41, 2], [41, 3], [41, 3], [41, 4], [41, 3], [41, 4], [41, 2]],
910 performAction: function(o, d, m, u, S, c, X) {
911 var f = c.length - 1;
912 switch (S) {
913 case 1:
914 return c[f - 1];
915 case 2:
916 this.$ = [];
917 break;
918 case 3:
919 c[f - 1].push(c[f]), this.$ = c[f - 1];
920 break;
921 case 4:
922 case 5:
923 this.$ = c[f];
924 break;
925 case 6:
926 case 7:
927 this.$ = [];
928 break;
929 case 8:
930 u.setWeekday("monday");
931 break;
932 case 9:
933 u.setWeekday("tuesday");
934 break;
935 case 10:
936 u.setWeekday("wednesday");
937 break;
938 case 11:
939 u.setWeekday("thursday");
940 break;
941 case 12:
942 u.setWeekday("friday");
943 break;
944 case 13:
945 u.setWeekday("saturday");
946 break;
947 case 14:
948 u.setWeekday("sunday");
949 break;
950 case 15:
951 u.setDateFormat(c[f].substr(11)), this.$ = c[f].substr(11);
952 break;
953 case 16:
954 u.enableInclusiveEndDates(), this.$ = c[f].substr(18);
955 break;
956 case 17:
957 u.TopAxis(), this.$ = c[f].substr(8);
958 break;
959 case 18:
960 u.setAxisFormat(c[f].substr(11)), this.$ = c[f].substr(11);
961 break;
962 case 19:
963 u.setTickInterval(c[f].substr(13)), this.$ = c[f].substr(13);
964 break;
965 case 20:
966 u.setExcludes(c[f].substr(9)), this.$ = c[f].substr(9);
967 break;
968 case 21:
969 u.setIncludes(c[f].substr(9)), this.$ = c[f].substr(9);
970 break;
971 case 22:
972 u.setTodayMarker(c[f].substr(12)), this.$ = c[f].substr(12);
973 break;
974 case 24:
975 u.setDiagramTitle(c[f].substr(6)), this.$ = c[f].substr(6);
976 break;
977 case 25:
978 this.$ = c[f].trim(), u.setAccTitle(this.$);
979 break;
980 case 26:
981 case 27:
982 this.$ = c[f].trim(), u.setAccDescription(this.$);
983 break;
984 case 28:
985 u.addSection(c[f].substr(8)), this.$ = c[f].substr(8);
986 break;
987 case 30:
988 u.addTask(c[f - 1], c[f]), this.$ = "task";
989 break;
990 case 31:
991 this.$ = c[f - 1], u.setClickEvent(c[f - 1], c[f], null);
992 break;
993 case 32:
994 this.$ = c[f - 2], u.setClickEvent(c[f - 2], c[f - 1], c[f]);
995 break;
996 case 33:
997 this.$ = c[f - 2], u.setClickEvent(c[f - 2], c[f - 1], null), u.setLink(c[f - 2], c[f]);
998 break;
999 case 34:
1000 this.$ = c[f - 3], u.setClickEvent(c[f - 3], c[f - 2], c[f - 1]), u.setLink(c[f - 3], c[f]);
1001 break;
1002 case 35:
1003 this.$ = c[f - 2], u.setClickEvent(c[f - 2], c[f], null), u.setLink(c[f - 2], c[f - 1]);
1004 break;
1005 case 36:
1006 this.$ = c[f - 3], u.setClickEvent(c[f - 3], c[f - 1], c[f]), u.setLink(c[f - 3], c[f - 2]);
1007 break;
1008 case 37:
1009 this.$ = c[f - 1], u.setLink(c[f - 1], c[f]);
1010 break;
1011 case 38:
1012 case 44:
1013 this.$ = c[f - 1] + " " + c[f];
1014 break;
1015 case 39:
1016 case 40:
1017 case 42:
1018 this.$ = c[f - 2] + " " + c[f - 1] + " " + c[f];
1019 break;
1020 case 41:
1021 case 43:
1022 this.$ = c[f - 3] + " " + c[f - 2] + " " + c[f - 1] + " " + c[f];
1023 break;
1024 }
1025 },
1026 table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, t(e, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: 17, 12: n, 13: r, 14: i, 15: s, 16: a, 17: k, 18: Y, 19: g, 20: v, 21: U, 22: C, 23: b, 24: q, 25: y, 26: L, 27: O, 28: W, 30: B, 32: Z, 33: Q, 34: 23, 35: x, 37: A }, t(e, [2, 7], { 1: [2, 1] }), t(e, [2, 3]), { 9: 33, 11: 17, 12: n, 13: r, 14: i, 15: s, 16: a, 17: k, 18: Y, 19: g, 20: v, 21: U, 22: C, 23: b, 24: q, 25: y, 26: L, 27: O, 28: W, 30: B, 32: Z, 33: Q, 34: 23, 35: x, 37: A }, t(e, [2, 5]), t(e, [2, 6]), t(e, [2, 15]), t(e, [2, 16]), t(e, [2, 17]), t(e, [2, 18]), t(e, [2, 19]), t(e, [2, 20]), t(e, [2, 21]), t(e, [2, 22]), t(e, [2, 23]), t(e, [2, 24]), { 29: [1, 34] }, { 31: [1, 35] }, t(e, [2, 27]), t(e, [2, 28]), t(e, [2, 29]), { 36: [1, 36] }, t(e, [2, 8]), t(e, [2, 9]), t(e, [2, 10]), t(e, [2, 11]), t(e, [2, 12]), t(e, [2, 13]), t(e, [2, 14]), { 38: [1, 37], 40: [1, 38] }, t(e, [2, 4]), t(e, [2, 25]), t(e, [2, 26]), t(e, [2, 30]), t(e, [2, 31], { 39: [1, 39], 40: [1, 40] }), t(e, [2, 37], { 38: [1, 41] }), t(e, [2, 32], { 40: [1, 42] }), t(e, [2, 33]), t(e, [2, 35], { 39: [1, 43] }), t(e, [2, 34]), t(e, [2, 36])],
1027 defaultActions: {},
1028 parseError: function(o, d) {
1029 if (d.recoverable)
1030 this.trace(o);
1031 else {
1032 var m = new Error(o);
1033 throw m.hash = d, m;
1034 }
1035 },
1036 parse: function(o) {
1037 var d = this, m = [0], u = [], S = [null], c = [], X = this.table, f = "", h = 0, _ = 0, G = 2, H = 1, V = c.slice.call(arguments, 1), I = Object.create(this.lexer), P = { yy: {} };
1038 for (var st in this.yy)
1039 Object.prototype.hasOwnProperty.call(this.yy, st) && (P.yy[st] = this.yy[st]);
1040 I.setInput(o, P.yy), P.yy.lexer = I, P.yy.parser = this, typeof I.yylloc > "u" && (I.yylloc = {});
1041 var it = I.yylloc;
1042 c.push(it);
1043 var p = I.options && I.options.ranges;
1044 typeof P.yy.parseError == "function" ? this.parseError = P.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
1045 function E() {
1046 var ct;
1047 return ct = u.pop() || I.lex() || H, typeof ct != "number" && (ct instanceof Array && (u = ct, ct = u.pop()), ct = d.symbols_[ct] || ct), ct;
1048 }
1049 for (var M, l, R, N, j = {}, J, et, Ut, Pt; ; ) {
1050 if (l = m[m.length - 1], this.defaultActions[l] ? R = this.defaultActions[l] : ((M === null || typeof M > "u") && (M = E()), R = X[l] && X[l][M]), typeof R > "u" || !R.length || !R[0]) {
1051 var Kt = "";
1052 Pt = [];
1053 for (J in X[l])
1054 this.terminals_[J] && J > G && Pt.push("'" + this.terminals_[J] + "'");
1055 I.showPosition ? Kt = "Parse error on line " + (h + 1) + `:
1056` + I.showPosition() + `
1057Expecting ` + Pt.join(", ") + ", got '" + (this.terminals_[M] || M) + "'" : Kt = "Parse error on line " + (h + 1) + ": Unexpected " + (M == H ? "end of input" : "'" + (this.terminals_[M] || M) + "'"), this.parseError(Kt, {
1058 text: I.match,
1059 token: this.terminals_[M] || M,
1060 line: I.yylineno,
1061 loc: it,
1062 expected: Pt
1063 });
1064 }
1065 if (R[0] instanceof Array && R.length > 1)
1066 throw new Error("Parse Error: multiple actions possible at state: " + l + ", token: " + M);
1067 switch (R[0]) {
1068 case 1:
1069 m.push(M), S.push(I.yytext), c.push(I.yylloc), m.push(R[1]), M = null, _ = I.yyleng, f = I.yytext, h = I.yylineno, it = I.yylloc;
1070 break;
1071 case 2:
1072 if (et = this.productions_[R[1]][1], j.$ = S[S.length - et], j._$ = {
1073 first_line: c[c.length - (et || 1)].first_line,
1074 last_line: c[c.length - 1].last_line,
1075 first_column: c[c.length - (et || 1)].first_column,
1076 last_column: c[c.length - 1].last_column
1077 }, p && (j._$.range = [
1078 c[c.length - (et || 1)].range[0],
1079 c[c.length - 1].range[1]
1080 ]), N = this.performAction.apply(j, [
1081 f,
1082 _,
1083 h,
1084 P.yy,
1085 R[1],
1086 S,
1087 c
1088 ].concat(V)), typeof N < "u")
1089 return N;
1090 et && (m = m.slice(0, -1 * et * 2), S = S.slice(0, -1 * et), c = c.slice(0, -1 * et)), m.push(this.productions_[R[1]][0]), S.push(j.$), c.push(j._$), Ut = X[m[m.length - 2]][m[m.length - 1]], m.push(Ut);
1091 break;
1092 case 3:
1093 return !0;
1094 }
1095 }
1096 return !0;
1097 }
1098 }, F = function() {
1099 var w = {
1100 EOF: 1,
1101 parseError: function(d, m) {
1102 if (this.yy.parser)
1103 this.yy.parser.parseError(d, m);
1104 else
1105 throw new Error(d);
1106 },
1107 // resets the lexer, sets new input
1108 setInput: function(o, d) {
1109 return this.yy = d || this.yy || {}, this._input = o, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
1110 first_line: 1,
1111 first_column: 0,
1112 last_line: 1,
1113 last_column: 0
1114 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
1115 },
1116 // consumes and returns one char from the input
1117 input: function() {
1118 var o = this._input[0];
1119 this.yytext += o, this.yyleng++, this.offset++, this.match += o, this.matched += o;
1120 var d = o.match(/(?:\r\n?|\n).*/g);
1121 return d ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), o;
1122 },
1123 // unshifts one char (or a string) into the input
1124 unput: function(o) {
1125 var d = o.length, m = o.split(/(?:\r\n?|\n)/g);
1126 this._input = o + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - d), this.offset -= d;
1127 var u = this.match.split(/(?:\r\n?|\n)/g);
1128 this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), m.length - 1 && (this.yylineno -= m.length - 1);
1129 var S = this.yylloc.range;
1130 return this.yylloc = {
1131 first_line: this.yylloc.first_line,
1132 last_line: this.yylineno + 1,
1133 first_column: this.yylloc.first_column,
1134 last_column: m ? (m.length === u.length ? this.yylloc.first_column : 0) + u[u.length - m.length].length - m[0].length : this.yylloc.first_column - d
1135 }, this.options.ranges && (this.yylloc.range = [S[0], S[0] + this.yyleng - d]), this.yyleng = this.yytext.length, this;
1136 },
1137 // When called from action, caches matched text and appends it on next action
1138 more: function() {
1139 return this._more = !0, this;
1140 },
1141 // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
1142 reject: function() {
1143 if (this.options.backtrack_lexer)
1144 this._backtrack = !0;
1145 else
1146 return this.parseError("Lexical error on line " + (this.yylineno + 1) + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1147` + this.showPosition(), {
1148 text: "",
1149 token: null,
1150 line: this.yylineno
1151 });
1152 return this;
1153 },
1154 // retain first n characters of the match
1155 less: function(o) {
1156 this.unput(this.match.slice(o));
1157 },
1158 // displays already matched input, i.e. for error messages
1159 pastInput: function() {
1160 var o = this.matched.substr(0, this.matched.length - this.match.length);
1161 return (o.length > 20 ? "..." : "") + o.substr(-20).replace(/\n/g, "");
1162 },
1163 // displays upcoming input, i.e. for error messages
1164 upcomingInput: function() {
1165 var o = this.match;
1166 return o.length < 20 && (o += this._input.substr(0, 20 - o.length)), (o.substr(0, 20) + (o.length > 20 ? "..." : "")).replace(/\n/g, "");
1167 },
1168 // displays the character position where the lexing error occurred, i.e. for error messages
1169 showPosition: function() {
1170 var o = this.pastInput(), d = new Array(o.length + 1).join("-");
1171 return o + this.upcomingInput() + `
1172` + d + "^";
1173 },
1174 // test the lexed token: return FALSE when not a match, otherwise return token
1175 test_match: function(o, d) {
1176 var m, u, S;
1177 if (this.options.backtrack_lexer && (S = {
1178 yylineno: this.yylineno,
1179 yylloc: {
1180 first_line: this.yylloc.first_line,
1181 last_line: this.last_line,
1182 first_column: this.yylloc.first_column,
1183 last_column: this.yylloc.last_column
1184 },
1185 yytext: this.yytext,
1186 match: this.match,
1187 matches: this.matches,
1188 matched: this.matched,
1189 yyleng: this.yyleng,
1190 offset: this.offset,
1191 _more: this._more,
1192 _input: this._input,
1193 yy: this.yy,
1194 conditionStack: this.conditionStack.slice(0),
1195 done: this.done
1196 }, this.options.ranges && (S.yylloc.range = this.yylloc.range.slice(0))), u = o[0].match(/(?:\r\n?|\n).*/g), u && (this.yylineno += u.length), this.yylloc = {
1197 first_line: this.yylloc.last_line,
1198 last_line: this.yylineno + 1,
1199 first_column: this.yylloc.last_column,
1200 last_column: u ? u[u.length - 1].length - u[u.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + o[0].length
1201 }, this.yytext += o[0], this.match += o[0], this.matches = o, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(o[0].length), this.matched += o[0], m = this.performAction.call(this, this.yy, this, d, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), m)
1202 return m;
1203 if (this._backtrack) {
1204 for (var c in S)
1205 this[c] = S[c];
1206 return !1;
1207 }
1208 return !1;
1209 },
1210 // return next match in input
1211 next: function() {
1212 if (this.done)
1213 return this.EOF;
1214 this._input || (this.done = !0);
1215 var o, d, m, u;
1216 this._more || (this.yytext = "", this.match = "");
1217 for (var S = this._currentRules(), c = 0; c < S.length; c++)
1218 if (m = this._input.match(this.rules[S[c]]), m && (!d || m[0].length > d[0].length)) {
1219 if (d = m, u = c, this.options.backtrack_lexer) {
1220 if (o = this.test_match(m, S[c]), o !== !1)
1221 return o;
1222 if (this._backtrack) {
1223 d = !1;
1224 continue;
1225 } else
1226 return !1;
1227 } else if (!this.options.flex)
1228 break;
1229 }
1230 return d ? (o = this.test_match(d, S[u]), o !== !1 ? o : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
1231` + this.showPosition(), {
1232 text: "",
1233 token: null,
1234 line: this.yylineno
1235 });
1236 },
1237 // return next match that has a token
1238 lex: function() {
1239 var d = this.next();
1240 return d || this.lex();
1241 },
1242 // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
1243 begin: function(d) {
1244 this.conditionStack.push(d);
1245 },
1246 // pop the previously active lexer condition state off the condition stack
1247 popState: function() {
1248 var d = this.conditionStack.length - 1;
1249 return d > 0 ? this.conditionStack.pop() : this.conditionStack[0];
1250 },
1251 // produce the lexer rule set which is active for the currently active lexer condition state
1252 _currentRules: function() {
1253 return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
1254 },
1255 // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
1256 topState: function(d) {
1257 return d = this.conditionStack.length - 1 - Math.abs(d || 0), d >= 0 ? this.conditionStack[d] : "INITIAL";
1258 },
1259 // alias for begin(condition)
1260 pushState: function(d) {
1261 this.begin(d);
1262 },
1263 // return the number of states currently on the stack
1264 stateStackSize: function() {
1265 return this.conditionStack.length;
1266 },
1267 options: { "case-insensitive": !0 },
1268 performAction: function(d, m, u, S) {
1269 switch (u) {
1270 case 0:
1271 return this.begin("open_directive"), "open_directive";
1272 case 1:
1273 return this.begin("acc_title"), 28;
1274 case 2:
1275 return this.popState(), "acc_title_value";
1276 case 3:
1277 return this.begin("acc_descr"), 30;
1278 case 4:
1279 return this.popState(), "acc_descr_value";
1280 case 5:
1281 this.begin("acc_descr_multiline");
1282 break;
1283 case 6:
1284 this.popState();
1285 break;
1286 case 7:
1287 return "acc_descr_multiline_value";
1288 case 8:
1289 break;
1290 case 9:
1291 break;
1292 case 10:
1293 break;
1294 case 11:
1295 return 10;
1296 case 12:
1297 break;
1298 case 13:
1299 break;
1300 case 14:
1301 this.begin("href");
1302 break;
1303 case 15:
1304 this.popState();
1305 break;
1306 case 16:
1307 return 40;
1308 case 17:
1309 this.begin("callbackname");
1310 break;
1311 case 18:
1312 this.popState();
1313 break;
1314 case 19:
1315 this.popState(), this.begin("callbackargs");
1316 break;
1317 case 20:
1318 return 38;
1319 case 21:
1320 this.popState();
1321 break;
1322 case 22:
1323 return 39;
1324 case 23:
1325 this.begin("click");
1326 break;
1327 case 24:
1328 this.popState();
1329 break;
1330 case 25:
1331 return 37;
1332 case 26:
1333 return 4;
1334 case 27:
1335 return 19;
1336 case 28:
1337 return 20;
1338 case 29:
1339 return 21;
1340 case 30:
1341 return 22;
1342 case 31:
1343 return 23;
1344 case 32:
1345 return 25;
1346 case 33:
1347 return 24;
1348 case 34:
1349 return 26;
1350 case 35:
1351 return 12;
1352 case 36:
1353 return 13;
1354 case 37:
1355 return 14;
1356 case 38:
1357 return 15;
1358 case 39:
1359 return 16;
1360 case 40:
1361 return 17;
1362 case 41:
1363 return 18;
1364 case 42:
1365 return "date";
1366 case 43:
1367 return 27;
1368 case 44:
1369 return "accDescription";
1370 case 45:
1371 return 33;
1372 case 46:
1373 return 35;
1374 case 47:
1375 return 36;
1376 case 48:
1377 return ":";
1378 case 49:
1379 return 6;
1380 case 50:
1381 return "INVALID";
1382 }
1383 },
1384 rules: [/^(?:%%\{)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:%%(?!\{)*[^\n]*)/i, /^(?:[^\}]%%*[^\n]*)/i, /^(?:%%*[^\n]*[\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:%[^\n]*)/i, /^(?:href[\s]+["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:call[\s]+)/i, /^(?:\([\s]*\))/i, /^(?:\()/i, /^(?:[^(]*)/i, /^(?:\))/i, /^(?:[^)]*)/i, /^(?:click[\s]+)/i, /^(?:[\s\n])/i, /^(?:[^\s\n]*)/i, /^(?:gantt\b)/i, /^(?:dateFormat\s[^#\n;]+)/i, /^(?:inclusiveEndDates\b)/i, /^(?:topAxis\b)/i, /^(?:axisFormat\s[^#\n;]+)/i, /^(?:tickInterval\s[^#\n;]+)/i, /^(?:includes\s[^#\n;]+)/i, /^(?:excludes\s[^#\n;]+)/i, /^(?:todayMarker\s[^\n;]+)/i, /^(?:weekday\s+monday\b)/i, /^(?:weekday\s+tuesday\b)/i, /^(?:weekday\s+wednesday\b)/i, /^(?:weekday\s+thursday\b)/i, /^(?:weekday\s+friday\b)/i, /^(?:weekday\s+saturday\b)/i, /^(?:weekday\s+sunday\b)/i, /^(?:\d\d\d\d-\d\d-\d\d\b)/i, /^(?:title\s[^\n]+)/i, /^(?:accDescription\s[^#\n;]+)/i, /^(?:section\s[^\n]+)/i, /^(?:[^:\n]+)/i, /^(?::[^#\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],
1385 conditions: { acc_descr_multiline: { rules: [6, 7], inclusive: !1 }, acc_descr: { rules: [4], inclusive: !1 }, acc_title: { rules: [2], inclusive: !1 }, callbackargs: { rules: [21, 22], inclusive: !1 }, callbackname: { rules: [18, 19, 20], inclusive: !1 }, href: { rules: [15, 16], inclusive: !1 }, click: { rules: [24, 25], inclusive: !1 }, INITIAL: { rules: [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 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], inclusive: !0 } }
1386 };
1387 return w;
1388 }();
1389 T.lexer = F;
1390 function D() {
1391 this.yy = {};
1392 }
1393 return D.prototype = T, T.Parser = D, new D();
1394}();
1395he.parser = he;
1396const xi = he;
1397var dn = { exports: {} };
1398(function(t, e) {
1399 (function(n, r) {
1400 t.exports = r();
1401 })(ye, function() {
1402 var n = "day";
1403 return function(r, i, s) {
1404 var a = function(g) {
1405 return g.add(4 - g.isoWeekday(), n);
1406 }, k = i.prototype;
1407 k.isoWeekYear = function() {
1408 return a(this).year();
1409 }, k.isoWeek = function(g) {
1410 if (!this.$utils().u(g))
1411 return this.add(7 * (g - this.isoWeek()), n);
1412 var v, U, C, b, q = a(this), y = (v = this.isoWeekYear(), U = this.$u, C = (U ? s.utc : s)().year(v).startOf("year"), b = 4 - C.isoWeekday(), C.isoWeekday() > 4 && (b += 7), C.add(b, n));
1413 return q.diff(y, "week") + 1;
1414 }, k.isoWeekday = function(g) {
1415 return this.$utils().u(g) ? this.day() || 7 : this.day(this.day() % 7 ? g : g - 7);
1416 };
1417 var Y = k.startOf;
1418 k.startOf = function(g, v) {
1419 var U = this.$utils(), C = !!U.u(v) || v;
1420 return U.p(g) === "isoweek" ? C ? this.date(this.date() - (this.isoWeekday() - 1)).startOf("day") : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf("day") : Y.bind(this)(g, v);
1421 };
1422 };
1423 });
1424})(dn);
1425var wi = dn.exports;
1426const Ci = /* @__PURE__ */ ke(wi);
1427var mn = { exports: {} };
1428(function(t, e) {
1429 (function(n, r) {
1430 t.exports = r();
1431 })(ye, function() {
1432 var n = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, r = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, i = /\d\d/, s = /\d\d?/, a = /\d*[^-_:/,()\s\d]+/, k = {}, Y = function(y) {
1433 return (y = +y) + (y > 68 ? 1900 : 2e3);
1434 }, g = function(y) {
1435 return function(L) {
1436 this[y] = +L;
1437 };
1438 }, v = [/[+-]\d\d:?(\d\d)?|Z/, function(y) {
1439 (this.zone || (this.zone = {})).offset = function(L) {
1440 if (!L || L === "Z")
1441 return 0;
1442 var O = L.match(/([+-]|\d\d)/g), W = 60 * O[1] + (+O[2] || 0);
1443 return W === 0 ? 0 : O[0] === "+" ? -W : W;
1444 }(y);
1445 }], U = function(y) {
1446 var L = k[y];
1447 return L && (L.indexOf ? L : L.s.concat(L.f));
1448 }, C = function(y, L) {
1449 var O, W = k.meridiem;
1450 if (W) {
1451 for (var B = 1; B <= 24; B += 1)
1452 if (y.indexOf(W(B, 0, L)) > -1) {
1453 O = B > 12;
1454 break;
1455 }
1456 } else
1457 O = y === (L ? "pm" : "PM");
1458 return O;
1459 }, b = { A: [a, function(y) {
1460 this.afternoon = C(y, !1);
1461 }], a: [a, function(y) {
1462 this.afternoon = C(y, !0);
1463 }], S: [/\d/, function(y) {
1464 this.milliseconds = 100 * +y;
1465 }], SS: [i, function(y) {
1466 this.milliseconds = 10 * +y;
1467 }], SSS: [/\d{3}/, function(y) {
1468 this.milliseconds = +y;
1469 }], s: [s, g("seconds")], ss: [s, g("seconds")], m: [s, g("minutes")], mm: [s, g("minutes")], H: [s, g("hours")], h: [s, g("hours")], HH: [s, g("hours")], hh: [s, g("hours")], D: [s, g("day")], DD: [i, g("day")], Do: [a, function(y) {
1470 var L = k.ordinal, O = y.match(/\d+/);
1471 if (this.day = O[0], L)
1472 for (var W = 1; W <= 31; W += 1)
1473 L(W).replace(/\[|\]/g, "") === y && (this.day = W);
1474 }], M: [s, g("month")], MM: [i, g("month")], MMM: [a, function(y) {
1475 var L = U("months"), O = (U("monthsShort") || L.map(function(W) {
1476 return W.slice(0, 3);
1477 })).indexOf(y) + 1;
1478 if (O < 1)
1479 throw new Error();
1480 this.month = O % 12 || O;
1481 }], MMMM: [a, function(y) {
1482 var L = U("months").indexOf(y) + 1;
1483 if (L < 1)
1484 throw new Error();
1485 this.month = L % 12 || L;
1486 }], Y: [/[+-]?\d+/, g("year")], YY: [i, function(y) {
1487 this.year = Y(y);
1488 }], YYYY: [/\d{4}/, g("year")], Z: v, ZZ: v };
1489 function q(y) {
1490 var L, O;
1491 L = y, O = k && k.formats;
1492 for (var W = (y = L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(F, D, w) {
1493 var o = w && w.toUpperCase();
1494 return D || O[w] || n[w] || O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(d, m, u) {
1495 return m || u.slice(1);
1496 });
1497 })).match(r), B = W.length, Z = 0; Z < B; Z += 1) {
1498 var Q = W[Z], x = b[Q], A = x && x[0], T = x && x[1];
1499 W[Z] = T ? { regex: A, parser: T } : Q.replace(/^\[|\]$/g, "");
1500 }
1501 return function(F) {
1502 for (var D = {}, w = 0, o = 0; w < B; w += 1) {
1503 var d = W[w];
1504 if (typeof d == "string")
1505 o += d.length;
1506 else {
1507 var m = d.regex, u = d.parser, S = F.slice(o), c = m.exec(S)[0];
1508 u.call(D, c), F = F.replace(c, "");
1509 }
1510 }
1511 return function(X) {
1512 var f = X.afternoon;
1513 if (f !== void 0) {
1514 var h = X.hours;
1515 f ? h < 12 && (X.hours += 12) : h === 12 && (X.hours = 0), delete X.afternoon;
1516 }
1517 }(D), D;
1518 };
1519 }
1520 return function(y, L, O) {
1521 O.p.customParseFormat = !0, y && y.parseTwoDigitYear && (Y = y.parseTwoDigitYear);
1522 var W = L.prototype, B = W.parse;
1523 W.parse = function(Z) {
1524 var Q = Z.date, x = Z.utc, A = Z.args;
1525 this.$u = x;
1526 var T = A[1];
1527 if (typeof T == "string") {
1528 var F = A[2] === !0, D = A[3] === !0, w = F || D, o = A[2];
1529 D && (o = A[2]), k = this.$locale(), !F && o && (k = O.Ls[o]), this.$d = function(S, c, X) {
1530 try {
1531 if (["x", "X"].indexOf(c) > -1)
1532 return new Date((c === "X" ? 1e3 : 1) * S);
1533 var f = q(c)(S), h = f.year, _ = f.month, G = f.day, H = f.hours, V = f.minutes, I = f.seconds, P = f.milliseconds, st = f.zone, it = /* @__PURE__ */ new Date(), p = G || (h || _ ? 1 : it.getDate()), E = h || it.getFullYear(), M = 0;
1534 h && !_ || (M = _ > 0 ? _ - 1 : it.getMonth());
1535 var l = H || 0, R = V || 0, N = I || 0, j = P || 0;
1536 return st ? new Date(Date.UTC(E, M, p, l, R, N, j + 60 * st.offset * 1e3)) : X ? new Date(Date.UTC(E, M, p, l, R, N, j)) : new Date(E, M, p, l, R, N, j);
1537 } catch {
1538 return /* @__PURE__ */ new Date("");
1539 }
1540 }(Q, T, x), this.init(), o && o !== !0 && (this.$L = this.locale(o).$L), w && Q != this.format(T) && (this.$d = /* @__PURE__ */ new Date("")), k = {};
1541 } else if (T instanceof Array)
1542 for (var d = T.length, m = 1; m <= d; m += 1) {
1543 A[1] = T[m - 1];
1544 var u = O.apply(this, A);
1545 if (u.isValid()) {
1546 this.$d = u.$d, this.$L = u.$L, this.init();
1547 break;
1548 }
1549 m === d && (this.$d = /* @__PURE__ */ new Date(""));
1550 }
1551 else
1552 B.call(this, Z);
1553 };
1554 };
1555 });
1556})(mn);
1557var Di = mn.exports;
1558const Mi = /* @__PURE__ */ ke(Di);
1559var gn = { exports: {} };
1560(function(t, e) {
1561 (function(n, r) {
1562 t.exports = r();
1563 })(ye, function() {
1564 return function(n, r) {
1565 var i = r.prototype, s = i.format;
1566 i.format = function(a) {
1567 var k = this, Y = this.$locale();
1568 if (!this.isValid())
1569 return s.bind(this)(a);
1570 var g = this.$utils(), v = (a || "YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function(U) {
1571 switch (U) {
1572 case "Q":
1573 return Math.ceil((k.$M + 1) / 3);
1574 case "Do":
1575 return Y.ordinal(k.$D);
1576 case "gggg":
1577 return k.weekYear();
1578 case "GGGG":
1579 return k.isoWeekYear();
1580 case "wo":
1581 return Y.ordinal(k.week(), "W");
1582 case "w":
1583 case "ww":
1584 return g.s(k.week(), U === "w" ? 1 : 2, "0");
1585 case "W":
1586 case "WW":
1587 return g.s(k.isoWeek(), U === "W" ? 1 : 2, "0");
1588 case "k":
1589 case "kk":
1590 return g.s(String(k.$H === 0 ? 24 : k.$H), U === "k" ? 1 : 2, "0");
1591 case "X":
1592 return Math.floor(k.$d.getTime() / 1e3);
1593 case "x":
1594 return k.$d.getTime();
1595 case "z":
1596 return "[" + k.offsetName() + "]";
1597 case "zzz":
1598 return "[" + k.offsetName("long") + "]";
1599 default:
1600 return U;
1601 }
1602 });
1603 return s.bind(this)(v);
1604 };
1605 };
1606 });
1607})(gn);
1608var Si = gn.exports;
1609const _i = /* @__PURE__ */ ke(Si);
1610nt.extend(Ci);
1611nt.extend(Mi);
1612nt.extend(_i);
1613let at = "", be = "", ve, xe = "", Ht = [], Nt = [], we = {}, Ce = [], Jt = [], _t = "", De = "";
1614const yn = ["active", "done", "crit", "milestone"];
1615let Me = [], Vt = !1, Se = !1, _e = "sunday", de = 0;
1616const Ui = function() {
1617 Ce = [], Jt = [], _t = "", Me = [], Zt = 0, ge = void 0, Xt = void 0, K = [], at = "", be = "", De = "", ve = void 0, xe = "", Ht = [], Nt = [], Vt = !1, Se = !1, de = 0, we = {}, En(), _e = "sunday";
1618}, Yi = function(t) {
1619 be = t;
1620}, Fi = function() {
1621 return be;
1622}, Li = function(t) {
1623 ve = t;
1624}, Ei = function() {
1625 return ve;
1626}, Ai = function(t) {
1627 xe = t;
1628}, Ii = function() {
1629 return xe;
1630}, Wi = function(t) {
1631 at = t;
1632}, Oi = function() {
1633 Vt = !0;
1634}, Hi = function() {
1635 return Vt;
1636}, Ni = function() {
1637 Se = !0;
1638}, Vi = function() {
1639 return Se;
1640}, Pi = function(t) {
1641 De = t;
1642}, zi = function() {
1643 return De;
1644}, Ri = function() {
1645 return at;
1646}, Bi = function(t) {
1647 Ht = t.toLowerCase().split(/[\s,]+/);
1648}, Zi = function() {
1649 return Ht;
1650}, Xi = function(t) {
1651 Nt = t.toLowerCase().split(/[\s,]+/);
1652}, qi = function() {
1653 return Nt;
1654}, Gi = function() {
1655 return we;
1656}, ji = function(t) {
1657 _t = t, Ce.push(t);
1658}, Qi = function() {
1659 return Ce;
1660}, Ji = function() {
1661 let t = ze();
1662 const e = 10;
1663 let n = 0;
1664 for (; !t && n < e; )
1665 t = ze(), n++;
1666 return Jt = K, Jt;
1667}, kn = function(t, e, n, r) {
1668 return r.includes(t.format(e.trim())) ? !1 : t.isoWeekday() >= 6 && n.includes("weekends") || n.includes(t.format("dddd").toLowerCase()) ? !0 : n.includes(t.format(e.trim()));
1669}, Ki = function(t) {
1670 _e = t;
1671}, $i = function() {
1672 return _e;
1673}, pn = function(t, e, n, r) {
1674 if (!n.length || t.manualEndTime)
1675 return;
1676 let i;
1677 t.startTime instanceof Date ? i = nt(t.startTime) : i = nt(t.startTime, e, !0), i = i.add(1, "d");
1678 let s;
1679 t.endTime instanceof Date ? s = nt(t.endTime) : s = nt(t.endTime, e, !0);
1680 const [a, k] = ts(
1681 i,
1682 s,
1683 e,
1684 n,
1685 r
1686 );
1687 t.endTime = a.toDate(), t.renderEndTime = k;
1688}, ts = function(t, e, n, r, i) {
1689 let s = !1, a = null;
1690 for (; t <= e; )
1691 s || (a = e.toDate()), s = kn(t, n, r, i), s && (e = e.add(1, "d")), t = t.add(1, "d");
1692 return [e, a];
1693}, me = function(t, e, n) {
1694 n = n.trim();
1695 const i = /^after\s+(?<ids>[\d\w- ]+)/.exec(n);
1696 if (i !== null) {
1697 let a = null;
1698 for (const Y of i.groups.ids.split(" ")) {
1699 let g = vt(Y);
1700 g !== void 0 && (!a || g.endTime > a.endTime) && (a = g);
1701 }
1702 if (a)
1703 return a.endTime;
1704 const k = /* @__PURE__ */ new Date();
1705 return k.setHours(0, 0, 0, 0), k;
1706 }
1707 let s = nt(n, e.trim(), !0);
1708 if (s.isValid())
1709 return s.toDate();
1710 {
1711 qt.debug("Invalid date:" + n), qt.debug("With date format:" + e.trim());
1712 const a = new Date(n);
1713 if (a === void 0 || isNaN(a.getTime()) || // WebKit browsers can mis-parse invalid dates to be ridiculously
1714 // huge numbers, e.g. new Date('202304') gets parsed as January 1, 202304.
1715 // This can cause virtually infinite loops while rendering, so for the
1716 // purposes of Gantt charts we'll just treat any date beyond 10,000 AD/BC as
1717 // invalid.
1718 a.getFullYear() < -1e4 || a.getFullYear() > 1e4)
1719 throw new Error("Invalid date:" + n);
1720 return a;
1721 }
1722}, Tn = function(t) {
1723 const e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());
1724 return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, "ms"];
1725}, bn = function(t, e, n, r = !1) {
1726 n = n.trim();
1727 const s = /^until\s+(?<ids>[\d\w- ]+)/.exec(n);
1728 if (s !== null) {
1729 let v = null;
1730 for (const C of s.groups.ids.split(" ")) {
1731 let b = vt(C);
1732 b !== void 0 && (!v || b.startTime < v.startTime) && (v = b);
1733 }
1734 if (v)
1735 return v.startTime;
1736 const U = /* @__PURE__ */ new Date();
1737 return U.setHours(0, 0, 0, 0), U;
1738 }
1739 let a = nt(n, e.trim(), !0);
1740 if (a.isValid())
1741 return r && (a = a.add(1, "d")), a.toDate();
1742 let k = nt(t);
1743 const [Y, g] = Tn(n);
1744 if (!Number.isNaN(Y)) {
1745 const v = k.add(Y, g);
1746 v.isValid() && (k = v);
1747 }
1748 return k.toDate();
1749};
1750let Zt = 0;
1751const Dt = function(t) {
1752 return t === void 0 ? (Zt = Zt + 1, "task" + Zt) : t;
1753}, es = function(t, e) {
1754 let n;
1755 e.substr(0, 1) === ":" ? n = e.substr(1, e.length) : n = e;
1756 const r = n.split(","), i = {};
1757 Cn(r, i, yn);
1758 for (let a = 0; a < r.length; a++)
1759 r[a] = r[a].trim();
1760 let s = "";
1761 switch (r.length) {
1762 case 1:
1763 i.id = Dt(), i.startTime = t.endTime, s = r[0];
1764 break;
1765 case 2:
1766 i.id = Dt(), i.startTime = me(void 0, at, r[0]), s = r[1];
1767 break;
1768 case 3:
1769 i.id = Dt(r[0]), i.startTime = me(void 0, at, r[1]), s = r[2];
1770 break;
1771 }
1772 return s && (i.endTime = bn(i.startTime, at, s, Vt), i.manualEndTime = nt(s, "YYYY-MM-DD", !0).isValid(), pn(i, at, Nt, Ht)), i;
1773}, ns = function(t, e) {
1774 let n;
1775 e.substr(0, 1) === ":" ? n = e.substr(1, e.length) : n = e;
1776 const r = n.split(","), i = {};
1777 Cn(r, i, yn);
1778 for (let s = 0; s < r.length; s++)
1779 r[s] = r[s].trim();
1780 switch (r.length) {
1781 case 1:
1782 i.id = Dt(), i.startTime = {
1783 type: "prevTaskEnd",
1784 id: t
1785 }, i.endTime = {
1786 data: r[0]
1787 };
1788 break;
1789 case 2:
1790 i.id = Dt(), i.startTime = {
1791 type: "getStartDate",
1792 startData: r[0]
1793 }, i.endTime = {
1794 data: r[1]
1795 };
1796 break;
1797 case 3:
1798 i.id = Dt(r[0]), i.startTime = {
1799 type: "getStartDate",
1800 startData: r[1]
1801 }, i.endTime = {
1802 data: r[2]
1803 };
1804 break;
1805 }
1806 return i;
1807};
1808let ge, Xt, K = [];
1809const vn = {}, rs = function(t, e) {
1810 const n = {
1811 section: _t,
1812 type: _t,
1813 processed: !1,
1814 manualEndTime: !1,
1815 renderEndTime: null,
1816 raw: { data: e },
1817 task: t,
1818 classes: []
1819 }, r = ns(Xt, e);
1820 n.raw.startTime = r.startTime, n.raw.endTime = r.endTime, n.id = r.id, n.prevTaskId = Xt, n.active = r.active, n.done = r.done, n.crit = r.crit, n.milestone = r.milestone, n.order = de, de++;
1821 const i = K.push(n);
1822 Xt = n.id, vn[n.id] = i - 1;
1823}, vt = function(t) {
1824 const e = vn[t];
1825 return K[e];
1826}, is = function(t, e) {
1827 const n = {
1828 section: _t,
1829 type: _t,
1830 description: t,
1831 task: t,
1832 classes: []
1833 }, r = es(ge, e);
1834 n.startTime = r.startTime, n.endTime = r.endTime, n.id = r.id, n.active = r.active, n.done = r.done, n.crit = r.crit, n.milestone = r.milestone, ge = n, Jt.push(n);
1835}, ze = function() {
1836 const t = function(n) {
1837 const r = K[n];
1838 let i = "";
1839 switch (K[n].raw.startTime.type) {
1840 case "prevTaskEnd": {
1841 const s = vt(r.prevTaskId);
1842 r.startTime = s.endTime;
1843 break;
1844 }
1845 case "getStartDate":
1846 i = me(void 0, at, K[n].raw.startTime.startData), i && (K[n].startTime = i);
1847 break;
1848 }
1849 return K[n].startTime && (K[n].endTime = bn(
1850 K[n].startTime,
1851 at,
1852 K[n].raw.endTime.data,
1853 Vt
1854 ), K[n].endTime && (K[n].processed = !0, K[n].manualEndTime = nt(
1855 K[n].raw.endTime.data,
1856 "YYYY-MM-DD",
1857 !0
1858 ).isValid(), pn(K[n], at, Nt, Ht))), K[n].processed;
1859 };
1860 let e = !0;
1861 for (const [n, r] of K.entries())
1862 t(n), e = e && r.processed;
1863 return e;
1864}, ss = function(t, e) {
1865 let n = e;
1866 wt().securityLevel !== "loose" && (n = An.sanitizeUrl(e)), t.split(",").forEach(function(r) {
1867 vt(r) !== void 0 && (wn(r, () => {
1868 window.open(n, "_self");
1869 }), we[r] = n);
1870 }), xn(t, "clickable");
1871}, xn = function(t, e) {
1872 t.split(",").forEach(function(n) {
1873 let r = vt(n);
1874 r !== void 0 && r.classes.push(e);
1875 });
1876}, as = function(t, e, n) {
1877 if (wt().securityLevel !== "loose" || e === void 0)
1878 return;
1879 let r = [];
1880 if (typeof n == "string") {
1881 r = n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
1882 for (let s = 0; s < r.length; s++) {
1883 let a = r[s].trim();
1884 a.charAt(0) === '"' && a.charAt(a.length - 1) === '"' && (a = a.substr(1, a.length - 2)), r[s] = a;
1885 }
1886 }
1887 r.length === 0 && r.push(t), vt(t) !== void 0 && wn(t, () => {
1888 In.runFunc(e, ...r);
1889 });
1890}, wn = function(t, e) {
1891 Me.push(
1892 function() {
1893 const n = document.querySelector(`[id="${t}"]`);
1894 n !== null && n.addEventListener("click", function() {
1895 e();
1896 });
1897 },
1898 function() {
1899 const n = document.querySelector(`[id="${t}-text"]`);
1900 n !== null && n.addEventListener("click", function() {
1901 e();
1902 });
1903 }
1904 );
1905}, os = function(t, e, n) {
1906 t.split(",").forEach(function(r) {
1907 as(r, e, n);
1908 }), xn(t, "clickable");
1909}, cs = function(t) {
1910 Me.forEach(function(e) {
1911 e(t);
1912 });
1913}, ls = {
1914 getConfig: () => wt().gantt,
1915 clear: Ui,
1916 setDateFormat: Wi,
1917 getDateFormat: Ri,
1918 enableInclusiveEndDates: Oi,
1919 endDatesAreInclusive: Hi,
1920 enableTopAxis: Ni,
1921 topAxisEnabled: Vi,
1922 setAxisFormat: Yi,
1923 getAxisFormat: Fi,
1924 setTickInterval: Li,
1925 getTickInterval: Ei,
1926 setTodayMarker: Ai,
1927 getTodayMarker: Ii,
1928 setAccTitle: Sn,
1929 getAccTitle: _n,
1930 setDiagramTitle: Un,
1931 getDiagramTitle: Yn,
1932 setDisplayMode: Pi,
1933 getDisplayMode: zi,
1934 setAccDescription: Fn,
1935 getAccDescription: Ln,
1936 addSection: ji,
1937 getSections: Qi,
1938 getTasks: Ji,
1939 addTask: rs,
1940 findTaskById: vt,
1941 addTaskOrg: is,
1942 setIncludes: Bi,
1943 getIncludes: Zi,
1944 setExcludes: Xi,
1945 getExcludes: qi,
1946 setClickEvent: os,
1947 setLink: ss,
1948 getLinks: Gi,
1949 bindFunctions: cs,
1950 parseDuration: Tn,
1951 isInvalidDate: kn,
1952 setWeekday: Ki,
1953 getWeekday: $i
1954};
1955function Cn(t, e, n) {
1956 let r = !0;
1957 for (; r; )
1958 r = !1, n.forEach(function(i) {
1959 const s = "^\\s*" + i + "\\s*$", a = new RegExp(s);
1960 t[0].match(a) && (e[i] = !0, t.shift(1), r = !0);
1961 });
1962}
1963const us = function() {
1964 qt.debug("Something is calling, setConf, remove the call");
1965}, Re = {
1966 monday: It,
1967 tuesday: nn,
1968 wednesday: rn,
1969 thursday: kt,
1970 friday: sn,
1971 saturday: an,
1972 sunday: Ot
1973}, fs = (t, e) => {
1974 let n = [...t].map(() => -1 / 0), r = [...t].sort((s, a) => s.startTime - a.startTime || s.order - a.order), i = 0;
1975 for (const s of r)
1976 for (let a = 0; a < n.length; a++)
1977 if (s.startTime >= n[a]) {
1978 n[a] = s.endTime, s.order = a + e, a > i && (i = a);
1979 break;
1980 }
1981 return i;
1982};
1983let lt;
1984const hs = function(t, e, n, r) {
1985 const i = wt().gantt, s = wt().securityLevel;
1986 let a;
1987 s === "sandbox" && (a = zt("#i" + e));
1988 const k = s === "sandbox" ? zt(a.nodes()[0].contentDocument.body) : zt("body"), Y = s === "sandbox" ? a.nodes()[0].contentDocument : document, g = Y.getElementById(e);
1989 lt = g.parentElement.offsetWidth, lt === void 0 && (lt = 1200), i.useWidth !== void 0 && (lt = i.useWidth);
1990 const v = r.db.getTasks();
1991 let U = [];
1992 for (const T of v)
1993 U.push(T.type);
1994 U = A(U);
1995 const C = {};
1996 let b = 2 * i.topPadding;
1997 if (r.db.getDisplayMode() === "compact" || i.displayMode === "compact") {
1998 const T = {};
1999 for (const D of v)
2000 T[D.section] === void 0 ? T[D.section] = [D] : T[D.section].push(D);
2001 let F = 0;
2002 for (const D of Object.keys(T)) {
2003 const w = fs(T[D], F) + 1;
2004 F += w, b += w * (i.barHeight + i.barGap), C[D] = w;
2005 }
2006 } else {
2007 b += v.length * (i.barHeight + i.barGap);
2008 for (const T of U)
2009 C[T] = v.filter((F) => F.type === T).length;
2010 }
2011 g.setAttribute("viewBox", "0 0 " + lt + " " + b);
2012 const q = k.select(`[id="${e}"]`), y = vi().domain([
2013 Bn(v, function(T) {
2014 return T.startTime;
2015 }),
2016 Rn(v, function(T) {
2017 return T.endTime;
2018 })
2019 ]).rangeRound([0, lt - i.leftPadding - i.rightPadding]);
2020 function L(T, F) {
2021 const D = T.startTime, w = F.startTime;
2022 let o = 0;
2023 return D > w ? o = 1 : D < w && (o = -1), o;
2024 }
2025 v.sort(L), O(v, lt, b), Wn(q, b, lt, i.useMaxWidth), q.append("text").text(r.db.getDiagramTitle()).attr("x", lt / 2).attr("y", i.titleTopMargin).attr("class", "titleText");
2026 function O(T, F, D) {
2027 const w = i.barHeight, o = w + i.barGap, d = i.topPadding, m = i.leftPadding, u = Pn().domain([0, U.length]).range(["#00B9FA", "#F95002"]).interpolate(sr);
2028 B(
2029 o,
2030 d,
2031 m,
2032 F,
2033 D,
2034 T,
2035 r.db.getExcludes(),
2036 r.db.getIncludes()
2037 ), Z(m, d, F, D), W(T, o, d, m, w, u, F), Q(o, d), x(m, d, F, D);
2038 }
2039 function W(T, F, D, w, o, d, m) {
2040 const S = [...new Set(T.map((h) => h.order))].map((h) => T.find((_) => _.order === h));
2041 q.append("g").selectAll("rect").data(S).enter().append("rect").attr("x", 0).attr("y", function(h, _) {
2042 return _ = h.order, _ * F + D - 2;
2043 }).attr("width", function() {
2044 return m - i.rightPadding / 2;
2045 }).attr("height", F).attr("class", function(h) {
2046 for (const [_, G] of U.entries())
2047 if (h.type === G)
2048 return "section section" + _ % i.numberSectionStyles;
2049 return "section section0";
2050 });
2051 const c = q.append("g").selectAll("rect").data(T).enter(), X = r.db.getLinks();
2052 if (c.append("rect").attr("id", function(h) {
2053 return h.id;
2054 }).attr("rx", 3).attr("ry", 3).attr("x", function(h) {
2055 return h.milestone ? y(h.startTime) + w + 0.5 * (y(h.endTime) - y(h.startTime)) - 0.5 * o : y(h.startTime) + w;
2056 }).attr("y", function(h, _) {
2057 return _ = h.order, _ * F + D;
2058 }).attr("width", function(h) {
2059 return h.milestone ? o : y(h.renderEndTime || h.endTime) - y(h.startTime);
2060 }).attr("height", o).attr("transform-origin", function(h, _) {
2061 return _ = h.order, (y(h.startTime) + w + 0.5 * (y(h.endTime) - y(h.startTime))).toString() + "px " + (_ * F + D + 0.5 * o).toString() + "px";
2062 }).attr("class", function(h) {
2063 const _ = "task";
2064 let G = "";
2065 h.classes.length > 0 && (G = h.classes.join(" "));
2066 let H = 0;
2067 for (const [I, P] of U.entries())
2068 h.type === P && (H = I % i.numberSectionStyles);
2069 let V = "";
2070 return h.active ? h.crit ? V += " activeCrit" : V = " active" : h.done ? h.crit ? V = " doneCrit" : V = " done" : h.crit && (V += " crit"), V.length === 0 && (V = " task"), h.milestone && (V = " milestone " + V), V += H, V += " " + G, _ + V;
2071 }), c.append("text").attr("id", function(h) {
2072 return h.id + "-text";
2073 }).text(function(h) {
2074 return h.task;
2075 }).attr("font-size", i.fontSize).attr("x", function(h) {
2076 let _ = y(h.startTime), G = y(h.renderEndTime || h.endTime);
2077 h.milestone && (_ += 0.5 * (y(h.endTime) - y(h.startTime)) - 0.5 * o), h.milestone && (G = _ + o);
2078 const H = this.getBBox().width;
2079 return H > G - _ ? G + H + 1.5 * i.leftPadding > m ? _ + w - 5 : G + w + 5 : (G - _) / 2 + _ + w;
2080 }).attr("y", function(h, _) {
2081 return _ = h.order, _ * F + i.barHeight / 2 + (i.fontSize / 2 - 2) + D;
2082 }).attr("text-height", o).attr("class", function(h) {
2083 const _ = y(h.startTime);
2084 let G = y(h.endTime);
2085 h.milestone && (G = _ + o);
2086 const H = this.getBBox().width;
2087 let V = "";
2088 h.classes.length > 0 && (V = h.classes.join(" "));
2089 let I = 0;
2090 for (const [st, it] of U.entries())
2091 h.type === it && (I = st % i.numberSectionStyles);
2092 let P = "";
2093 return h.active && (h.crit ? P = "activeCritText" + I : P = "activeText" + I), h.done ? h.crit ? P = P + " doneCritText" + I : P = P + " doneText" + I : h.crit && (P = P + " critText" + I), h.milestone && (P += " milestoneText"), H > G - _ ? G + H + 1.5 * i.leftPadding > m ? V + " taskTextOutsideLeft taskTextOutside" + I + " " + P : V + " taskTextOutsideRight taskTextOutside" + I + " " + P + " width-" + H : V + " taskText taskText" + I + " " + P + " width-" + H;
2094 }), wt().securityLevel === "sandbox") {
2095 let h;
2096 h = zt("#i" + e);
2097 const _ = h.nodes()[0].contentDocument;
2098 c.filter(function(G) {
2099 return X[G.id] !== void 0;
2100 }).each(function(G) {
2101 var H = _.querySelector("#" + G.id), V = _.querySelector("#" + G.id + "-text");
2102 const I = H.parentNode;
2103 var P = _.createElement("a");
2104 P.setAttribute("xlink:href", X[G.id]), P.setAttribute("target", "_top"), I.appendChild(P), P.appendChild(H), P.appendChild(V);
2105 });
2106 }
2107 }
2108 function B(T, F, D, w, o, d, m, u) {
2109 if (m.length === 0 && u.length === 0)
2110 return;
2111 let S, c;
2112 for (const { startTime: H, endTime: V } of d)
2113 (S === void 0 || H < S) && (S = H), (c === void 0 || V > c) && (c = V);
2114 if (!S || !c)
2115 return;
2116 if (nt(c).diff(nt(S), "year") > 5) {
2117 qt.warn(
2118 "The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days."
2119 );
2120 return;
2121 }
2122 const X = r.db.getDateFormat(), f = [];
2123 let h = null, _ = nt(S);
2124 for (; _.valueOf() <= c; )
2125 r.db.isInvalidDate(_, X, m, u) ? h ? h.end = _ : h = {
2126 start: _,
2127 end: _
2128 } : h && (f.push(h), h = null), _ = _.add(1, "d");
2129 q.append("g").selectAll("rect").data(f).enter().append("rect").attr("id", function(H) {
2130 return "exclude-" + H.start.format("YYYY-MM-DD");
2131 }).attr("x", function(H) {
2132 return y(H.start) + D;
2133 }).attr("y", i.gridLineStartPadding).attr("width", function(H) {
2134 const V = H.end.add(1, "day");
2135 return y(V) - y(H.start);
2136 }).attr("height", o - F - i.gridLineStartPadding).attr("transform-origin", function(H, V) {
2137 return (y(H.start) + D + 0.5 * (y(H.end) - y(H.start))).toString() + "px " + (V * T + 0.5 * o).toString() + "px";
2138 }).attr("class", "exclude-range");
2139 }
2140 function Z(T, F, D, w) {
2141 let o = Kn(y).tickSize(-w + F + i.gridLineStartPadding).tickFormat(Qt(r.db.getAxisFormat() || i.axisFormat || "%Y-%m-%d"));
2142 const m = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(
2143 r.db.getTickInterval() || i.tickInterval
2144 );
2145 if (m !== null) {
2146 const u = m[1], S = m[2], c = r.db.getWeekday() || i.weekday;
2147 switch (S) {
2148 case "millisecond":
2149 o.ticks(Mt.every(u));
2150 break;
2151 case "second":
2152 o.ticks(gt.every(u));
2153 break;
2154 case "minute":
2155 o.ticks(Et.every(u));
2156 break;
2157 case "hour":
2158 o.ticks(At.every(u));
2159 break;
2160 case "day":
2161 o.ticks(yt.every(u));
2162 break;
2163 case "week":
2164 o.ticks(Re[c].every(u));
2165 break;
2166 case "month":
2167 o.ticks(Wt.every(u));
2168 break;
2169 }
2170 }
2171 if (q.append("g").attr("class", "grid").attr("transform", "translate(" + T + ", " + (w - 50) + ")").call(o).selectAll("text").style("text-anchor", "middle").attr("fill", "#000").attr("stroke", "none").attr("font-size", 10).attr("dy", "1em"), r.db.topAxisEnabled() || i.topAxis) {
2172 let u = Jn(y).tickSize(-w + F + i.gridLineStartPadding).tickFormat(Qt(r.db.getAxisFormat() || i.axisFormat || "%Y-%m-%d"));
2173 if (m !== null) {
2174 const S = m[1], c = m[2], X = r.db.getWeekday() || i.weekday;
2175 switch (c) {
2176 case "millisecond":
2177 u.ticks(Mt.every(S));
2178 break;
2179 case "second":
2180 u.ticks(gt.every(S));
2181 break;
2182 case "minute":
2183 u.ticks(Et.every(S));
2184 break;
2185 case "hour":
2186 u.ticks(At.every(S));
2187 break;
2188 case "day":
2189 u.ticks(yt.every(S));
2190 break;
2191 case "week":
2192 u.ticks(Re[X].every(S));
2193 break;
2194 case "month":
2195 u.ticks(Wt.every(S));
2196 break;
2197 }
2198 }
2199 q.append("g").attr("class", "grid").attr("transform", "translate(" + T + ", " + F + ")").call(u).selectAll("text").style("text-anchor", "middle").attr("fill", "#000").attr("stroke", "none").attr("font-size", 10);
2200 }
2201 }
2202 function Q(T, F) {
2203 let D = 0;
2204 const w = Object.keys(C).map((o) => [o, C[o]]);
2205 q.append("g").selectAll("text").data(w).enter().append(function(o) {
2206 const d = o[0].split(On.lineBreakRegex), m = -(d.length - 1) / 2, u = Y.createElementNS("http://www.w3.org/2000/svg", "text");
2207 u.setAttribute("dy", m + "em");
2208 for (const [S, c] of d.entries()) {
2209 const X = Y.createElementNS("http://www.w3.org/2000/svg", "tspan");
2210 X.setAttribute("alignment-baseline", "central"), X.setAttribute("x", "10"), S > 0 && X.setAttribute("dy", "1em"), X.textContent = c, u.appendChild(X);
2211 }
2212 return u;
2213 }).attr("x", 10).attr("y", function(o, d) {
2214 if (d > 0)
2215 for (let m = 0; m < d; m++)
2216 return D += w[d - 1][1], o[1] * T / 2 + D * T + F;
2217 else
2218 return o[1] * T / 2 + F;
2219 }).attr("font-size", i.sectionFontSize).attr("class", function(o) {
2220 for (const [d, m] of U.entries())
2221 if (o[0] === m)
2222 return "sectionTitle sectionTitle" + d % i.numberSectionStyles;
2223 return "sectionTitle";
2224 });
2225 }
2226 function x(T, F, D, w) {
2227 const o = r.db.getTodayMarker();
2228 if (o === "off")
2229 return;
2230 const d = q.append("g").attr("class", "today"), m = /* @__PURE__ */ new Date(), u = d.append("line");
2231 u.attr("x1", y(m) + T).attr("x2", y(m) + T).attr("y1", i.titleTopMargin).attr("y2", w - i.titleTopMargin).attr("class", "today"), o !== "" && u.attr("style", o.replace(/,/g, ";"));
2232 }
2233 function A(T) {
2234 const F = {}, D = [];
2235 for (let w = 0, o = T.length; w < o; ++w)
2236 Object.prototype.hasOwnProperty.call(F, T[w]) || (F[T[w]] = !0, D.push(T[w]));
2237 return D;
2238 }
2239}, ds = {
2240 setConf: us,
2241 draw: hs
2242}, ms = (t) => `
2243 .mermaid-main-font {
2244 font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
2245 }
2246
2247 .exclude-range {
2248 fill: ${t.excludeBkgColor};
2249 }
2250
2251 .section {
2252 stroke: none;
2253 opacity: 0.2;
2254 }
2255
2256 .section0 {
2257 fill: ${t.sectionBkgColor};
2258 }
2259
2260 .section2 {
2261 fill: ${t.sectionBkgColor2};
2262 }
2263
2264 .section1,
2265 .section3 {
2266 fill: ${t.altSectionBkgColor};
2267 opacity: 0.2;
2268 }
2269
2270 .sectionTitle0 {
2271 fill: ${t.titleColor};
2272 }
2273
2274 .sectionTitle1 {
2275 fill: ${t.titleColor};
2276 }
2277
2278 .sectionTitle2 {
2279 fill: ${t.titleColor};
2280 }
2281
2282 .sectionTitle3 {
2283 fill: ${t.titleColor};
2284 }
2285
2286 .sectionTitle {
2287 text-anchor: start;
2288 font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
2289 }
2290
2291
2292 /* Grid and axis */
2293
2294 .grid .tick {
2295 stroke: ${t.gridColor};
2296 opacity: 0.8;
2297 shape-rendering: crispEdges;
2298 }
2299
2300 .grid .tick text {
2301 font-family: ${t.fontFamily};
2302 fill: ${t.textColor};
2303 }
2304
2305 .grid path {
2306 stroke-width: 0;
2307 }
2308
2309
2310 /* Today line */
2311
2312 .today {
2313 fill: none;
2314 stroke: ${t.todayLineColor};
2315 stroke-width: 2px;
2316 }
2317
2318
2319 /* Task styling */
2320
2321 /* Default task */
2322
2323 .task {
2324 stroke-width: 2;
2325 }
2326
2327 .taskText {
2328 text-anchor: middle;
2329 font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
2330 }
2331
2332 .taskTextOutsideRight {
2333 fill: ${t.taskTextDarkColor};
2334 text-anchor: start;
2335 font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
2336 }
2337
2338 .taskTextOutsideLeft {
2339 fill: ${t.taskTextDarkColor};
2340 text-anchor: end;
2341 }
2342
2343
2344 /* Special case clickable */
2345
2346 .task.clickable {
2347 cursor: pointer;
2348 }
2349
2350 .taskText.clickable {
2351 cursor: pointer;
2352 fill: ${t.taskTextClickableColor} !important;
2353 font-weight: bold;
2354 }
2355
2356 .taskTextOutsideLeft.clickable {
2357 cursor: pointer;
2358 fill: ${t.taskTextClickableColor} !important;
2359 font-weight: bold;
2360 }
2361
2362 .taskTextOutsideRight.clickable {
2363 cursor: pointer;
2364 fill: ${t.taskTextClickableColor} !important;
2365 font-weight: bold;
2366 }
2367
2368
2369 /* Specific task settings for the sections*/
2370
2371 .taskText0,
2372 .taskText1,
2373 .taskText2,
2374 .taskText3 {
2375 fill: ${t.taskTextColor};
2376 }
2377
2378 .task0,
2379 .task1,
2380 .task2,
2381 .task3 {
2382 fill: ${t.taskBkgColor};
2383 stroke: ${t.taskBorderColor};
2384 }
2385
2386 .taskTextOutside0,
2387 .taskTextOutside2
2388 {
2389 fill: ${t.taskTextOutsideColor};
2390 }
2391
2392 .taskTextOutside1,
2393 .taskTextOutside3 {
2394 fill: ${t.taskTextOutsideColor};
2395 }
2396
2397
2398 /* Active task */
2399
2400 .active0,
2401 .active1,
2402 .active2,
2403 .active3 {
2404 fill: ${t.activeTaskBkgColor};
2405 stroke: ${t.activeTaskBorderColor};
2406 }
2407
2408 .activeText0,
2409 .activeText1,
2410 .activeText2,
2411 .activeText3 {
2412 fill: ${t.taskTextDarkColor} !important;
2413 }
2414
2415
2416 /* Completed task */
2417
2418 .done0,
2419 .done1,
2420 .done2,
2421 .done3 {
2422 stroke: ${t.doneTaskBorderColor};
2423 fill: ${t.doneTaskBkgColor};
2424 stroke-width: 2;
2425 }
2426
2427 .doneText0,
2428 .doneText1,
2429 .doneText2,
2430 .doneText3 {
2431 fill: ${t.taskTextDarkColor} !important;
2432 }
2433
2434
2435 /* Tasks on the critical line */
2436
2437 .crit0,
2438 .crit1,
2439 .crit2,
2440 .crit3 {
2441 stroke: ${t.critBorderColor};
2442 fill: ${t.critBkgColor};
2443 stroke-width: 2;
2444 }
2445
2446 .activeCrit0,
2447 .activeCrit1,
2448 .activeCrit2,
2449 .activeCrit3 {
2450 stroke: ${t.critBorderColor};
2451 fill: ${t.activeTaskBkgColor};
2452 stroke-width: 2;
2453 }
2454
2455 .doneCrit0,
2456 .doneCrit1,
2457 .doneCrit2,
2458 .doneCrit3 {
2459 stroke: ${t.critBorderColor};
2460 fill: ${t.doneTaskBkgColor};
2461 stroke-width: 2;
2462 cursor: pointer;
2463 shape-rendering: crispEdges;
2464 }
2465
2466 .milestone {
2467 transform: rotate(45deg) scale(0.8,0.8);
2468 }
2469
2470 .milestoneText {
2471 font-style: italic;
2472 }
2473 .doneCritText0,
2474 .doneCritText1,
2475 .doneCritText2,
2476 .doneCritText3 {
2477 fill: ${t.taskTextDarkColor} !important;
2478 }
2479
2480 .activeCritText0,
2481 .activeCritText1,
2482 .activeCritText2,
2483 .activeCritText3 {
2484 fill: ${t.taskTextDarkColor} !important;
2485 }
2486
2487 .titleText {
2488 text-anchor: middle;
2489 font-size: 18px;
2490 fill: ${t.titleColor || t.textColor};
2491 font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
2492 }
2493`, gs = ms, Ts = {
2494 parser: xi,
2495 db: ls,
2496 renderer: ds,
2497 styles: gs
2498};
2499export {
2500 Ts as diagram
2501};