1 | import { 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";
|
2 | import { b as Hn, t as Ue, c as Nn, a as Vn, l as Pn } from "./linear-9bcf74c4.js";
|
3 | import { i as zn } from "./init-f9637058.js";
|
4 | function 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 | }
|
16 | function 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 | }
|
28 | function Zn(t) {
|
29 | return t;
|
30 | }
|
31 | var Bt = 1, te = 2, ue = 3, Rt = 4, Ye = 1e-6;
|
32 | function Xn(t) {
|
33 | return "translate(" + t + ",0)";
|
34 | }
|
35 | function qn(t) {
|
36 | return "translate(0," + t + ")";
|
37 | }
|
38 | function Gn(t) {
|
39 | return (e) => +t(e);
|
40 | }
|
41 | function 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 | }
|
44 | function Qn() {
|
45 | return !this.__axis;
|
46 | }
|
47 | function 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 | }
|
84 | function Jn(t) {
|
85 | return Ge(Bt, t);
|
86 | }
|
87 | function Kn(t) {
|
88 | return Ge(ue, t);
|
89 | }
|
90 | const $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;
|
91 | function 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 | }
|
100 | function nr(t, e, n, r) {
|
101 | return arguments.length === 1 ? tn(t) : new ot(t, e, n, r ?? 1);
|
102 | }
|
103 | function ot(t, e, n, r) {
|
104 | this.l = +t, this.a = +e, this.b = +n, this.opacity = +r;
|
105 | }
|
106 | Be(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 | }));
|
123 | function ee(t) {
|
124 | return t > er ? Math.pow(t, 1 / 3) : t / $e + Ke;
|
125 | }
|
126 | function ne(t) {
|
127 | return t > Ct ? t * t * t : $e * (t - Ke);
|
128 | }
|
129 | function re(t) {
|
130 | return 255 * (t <= 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055);
|
131 | }
|
132 | function ie(t) {
|
133 | return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
|
134 | }
|
135 | function 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 | }
|
143 | function fe(t, e, n, r) {
|
144 | return arguments.length === 1 ? rr(t) : new ut(t, e, n, r ?? 1);
|
145 | }
|
146 | function ut(t, e, n, r) {
|
147 | this.h = +t, this.c = +e, this.l = +n, this.opacity = +r;
|
148 | }
|
149 | function 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 | }
|
155 | Be(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 | }));
|
166 | function 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 | }
|
174 | const sr = ir(Mn);
|
175 | function 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 | }
|
180 | const se = new Date(), ae = new Date();
|
181 | function $(t, e, n, r) {
|
182 | function i(s) {
|
183 | return t(s = arguments.length === 0 ? new Date() : 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 = 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 | }
|
213 | const Mt = $(() => {
|
214 | }, (t, e) => {
|
215 | t.setTime(+t + e);
|
216 | }, (t, e) => e - t);
|
217 | Mt.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);
|
222 | Mt.range;
|
223 | const 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());
|
228 | gt.range;
|
229 | const 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());
|
234 | Et.range;
|
235 | const 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());
|
240 | or.range;
|
241 | const 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());
|
246 | At.range;
|
247 | const 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());
|
252 | cr.range;
|
253 | const 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 | );
|
259 | yt.range;
|
260 | const 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);
|
265 | Te.range;
|
266 | const 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));
|
271 | lr.range;
|
272 | function 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 | }
|
279 | const Ot = Tt(0), It = Tt(1), nn = Tt(2), rn = Tt(3), kt = Tt(4), sn = Tt(5), an = Tt(6);
|
280 | Ot.range;
|
281 | It.range;
|
282 | nn.range;
|
283 | rn.range;
|
284 | kt.range;
|
285 | sn.range;
|
286 | an.range;
|
287 | function 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 | }
|
294 | const on = bt(0), jt = bt(1), ur = bt(2), fr = bt(3), St = bt(4), hr = bt(5), dr = bt(6);
|
295 | on.range;
|
296 | jt.range;
|
297 | ur.range;
|
298 | fr.range;
|
299 | St.range;
|
300 | hr.range;
|
301 | dr.range;
|
302 | const 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());
|
307 | Wt.range;
|
308 | const 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());
|
313 | mr.range;
|
314 | const 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());
|
319 | mt.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 | });
|
324 | mt.range;
|
325 | const 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());
|
330 | pt.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 | });
|
335 | pt.range;
|
336 | function 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 | }
|
374 | const [yr, kr] = gr(mt, Wt, Ot, yt, At, Et);
|
375 | function 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 | }
|
382 | function 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 | }
|
389 | function Yt(t, e, n) {
|
390 | return { y: t, m: e, d: n, H: 0, M: 0, S: 0, L: 0 };
|
391 | }
|
392 | function 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 = 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 | }
|
624 | var Le = { "-": "", _: " ", 0: "0" }, tt = /^\s*\d+/, Tr = /^%/, br = /[\\^$*+?|[\]().{}]/g;
|
625 | function 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 | }
|
629 | function vr(t) {
|
630 | return t.replace(br, "\\$&");
|
631 | }
|
632 | function Ft(t) {
|
633 | return new RegExp("^(?:" + t.map(vr).join("|") + ")", "i");
|
634 | }
|
635 | function Lt(t) {
|
636 | return new Map(t.map((e, n) => [e.toLowerCase(), n]));
|
637 | }
|
638 | function 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 | }
|
642 | function 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 | }
|
646 | function 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 | }
|
650 | function 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 | }
|
654 | function 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 | }
|
658 | function 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 | }
|
662 | function 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 | }
|
666 | function 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 | }
|
670 | function _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 | }
|
674 | function 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 | }
|
678 | function 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 | }
|
682 | function 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 | }
|
686 | function 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 | }
|
690 | function 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 | }
|
694 | function 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 | }
|
698 | function 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 | }
|
702 | function 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 | }
|
706 | function Ir(t, e, n) {
|
707 | var r = Tr.exec(e.slice(n, n + 1));
|
708 | return r ? n + r[0].length : -1;
|
709 | }
|
710 | function 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 | }
|
714 | function 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 | }
|
718 | function Oe(t, e) {
|
719 | return z(t.getDate(), e, 2);
|
720 | }
|
721 | function Hr(t, e) {
|
722 | return z(t.getHours(), e, 2);
|
723 | }
|
724 | function Nr(t, e) {
|
725 | return z(t.getHours() % 12 || 12, e, 2);
|
726 | }
|
727 | function Vr(t, e) {
|
728 | return z(1 + yt.count(mt(t), t), e, 3);
|
729 | }
|
730 | function cn(t, e) {
|
731 | return z(t.getMilliseconds(), e, 3);
|
732 | }
|
733 | function Pr(t, e) {
|
734 | return cn(t, e) + "000";
|
735 | }
|
736 | function zr(t, e) {
|
737 | return z(t.getMonth() + 1, e, 2);
|
738 | }
|
739 | function Rr(t, e) {
|
740 | return z(t.getMinutes(), e, 2);
|
741 | }
|
742 | function Br(t, e) {
|
743 | return z(t.getSeconds(), e, 2);
|
744 | }
|
745 | function Zr(t) {
|
746 | var e = t.getDay();
|
747 | return e === 0 ? 7 : e;
|
748 | }
|
749 | function Xr(t, e) {
|
750 | return z(Ot.count(mt(t) - 1, t), e, 2);
|
751 | }
|
752 | function ln(t) {
|
753 | var e = t.getDay();
|
754 | return e >= 4 || e === 0 ? kt(t) : kt.ceil(t);
|
755 | }
|
756 | function qr(t, e) {
|
757 | return t = ln(t), z(kt.count(mt(t), t) + (mt(t).getDay() === 4), e, 2);
|
758 | }
|
759 | function Gr(t) {
|
760 | return t.getDay();
|
761 | }
|
762 | function jr(t, e) {
|
763 | return z(It.count(mt(t) - 1, t), e, 2);
|
764 | }
|
765 | function Qr(t, e) {
|
766 | return z(t.getFullYear() % 100, e, 2);
|
767 | }
|
768 | function Jr(t, e) {
|
769 | return t = ln(t), z(t.getFullYear() % 100, e, 2);
|
770 | }
|
771 | function Kr(t, e) {
|
772 | return z(t.getFullYear() % 1e4, e, 4);
|
773 | }
|
774 | function $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 | }
|
778 | function 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 | }
|
782 | function He(t, e) {
|
783 | return z(t.getUTCDate(), e, 2);
|
784 | }
|
785 | function ei(t, e) {
|
786 | return z(t.getUTCHours(), e, 2);
|
787 | }
|
788 | function ni(t, e) {
|
789 | return z(t.getUTCHours() % 12 || 12, e, 2);
|
790 | }
|
791 | function ri(t, e) {
|
792 | return z(1 + Te.count(pt(t), t), e, 3);
|
793 | }
|
794 | function un(t, e) {
|
795 | return z(t.getUTCMilliseconds(), e, 3);
|
796 | }
|
797 | function ii(t, e) {
|
798 | return un(t, e) + "000";
|
799 | }
|
800 | function si(t, e) {
|
801 | return z(t.getUTCMonth() + 1, e, 2);
|
802 | }
|
803 | function ai(t, e) {
|
804 | return z(t.getUTCMinutes(), e, 2);
|
805 | }
|
806 | function oi(t, e) {
|
807 | return z(t.getUTCSeconds(), e, 2);
|
808 | }
|
809 | function ci(t) {
|
810 | var e = t.getUTCDay();
|
811 | return e === 0 ? 7 : e;
|
812 | }
|
813 | function li(t, e) {
|
814 | return z(on.count(pt(t) - 1, t), e, 2);
|
815 | }
|
816 | function fn(t) {
|
817 | var e = t.getUTCDay();
|
818 | return e >= 4 || e === 0 ? St(t) : St.ceil(t);
|
819 | }
|
820 | function ui(t, e) {
|
821 | return t = fn(t), z(St.count(pt(t), t) + (pt(t).getUTCDay() === 4), e, 2);
|
822 | }
|
823 | function fi(t) {
|
824 | return t.getUTCDay();
|
825 | }
|
826 | function hi(t, e) {
|
827 | return z(jt.count(pt(t) - 1, t), e, 2);
|
828 | }
|
829 | function di(t, e) {
|
830 | return z(t.getUTCFullYear() % 100, e, 2);
|
831 | }
|
832 | function mi(t, e) {
|
833 | return t = fn(t), z(t.getUTCFullYear() % 100, e, 2);
|
834 | }
|
835 | function gi(t, e) {
|
836 | return z(t.getUTCFullYear() % 1e4, e, 4);
|
837 | }
|
838 | function 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 | }
|
842 | function ki() {
|
843 | return "+0000";
|
844 | }
|
845 | function Ne() {
|
846 | return "%";
|
847 | }
|
848 | function Ve(t) {
|
849 | return +t;
|
850 | }
|
851 | function Pe(t) {
|
852 | return Math.floor(+t / 1e3);
|
853 | }
|
854 | var xt, Qt;
|
855 | pi({
|
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 | });
|
865 | function pi(t) {
|
866 | return xt = pr(t), Qt = xt.format, xt.parse, xt.utcFormat, xt.utcParse, xt;
|
867 | }
|
868 | function Ti(t) {
|
869 | return new Date(t);
|
870 | }
|
871 | function bi(t) {
|
872 | return t instanceof Date ? +t : + new Date(+t);
|
873 | }
|
874 | function 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 | }
|
895 | function 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 | }
|
898 | var 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() + `
|
1057 | Expecting ` + 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 |
|
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 |
|
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 |
|
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 |
|
1138 | more: function() {
|
1139 | return this._more = !0, this;
|
1140 | },
|
1141 |
|
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 |
|
1155 | less: function(o) {
|
1156 | this.unput(this.match.slice(o));
|
1157 | },
|
1158 |
|
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 |
|
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 |
|
1169 | showPosition: function() {
|
1170 | var o = this.pastInput(), d = new Array(o.length + 1).join("-");
|
1171 | return o + this.upcomingInput() + `
|
1172 | ` + d + "^";
|
1173 | },
|
1174 |
|
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 |
|
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 |
|
1238 | lex: function() {
|
1239 | var d = this.next();
|
1240 | return d || this.lex();
|
1241 | },
|
1242 |
|
1243 | begin: function(d) {
|
1244 | this.conditionStack.push(d);
|
1245 | },
|
1246 |
|
1247 | popState: function() {
|
1248 | var d = this.conditionStack.length - 1;
|
1249 | return d > 0 ? this.conditionStack.pop() : this.conditionStack[0];
|
1250 | },
|
1251 |
|
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 |
|
1256 | topState: function(d) {
|
1257 | return d = this.conditionStack.length - 1 - Math.abs(d || 0), d >= 0 ? this.conditionStack[d] : "INITIAL";
|
1258 | },
|
1259 |
|
1260 | pushState: function(d) {
|
1261 | this.begin(d);
|
1262 | },
|
1263 |
|
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 | }();
|
1395 | he.parser = he;
|
1396 | const xi = he;
|
1397 | var 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);
|
1425 | var wi = dn.exports;
|
1426 | const Ci = ke(wi);
|
1427 | var 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 = 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 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 = 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 = new Date(""));
|
1550 | }
|
1551 | else
|
1552 | B.call(this, Z);
|
1553 | };
|
1554 | };
|
1555 | });
|
1556 | })(mn);
|
1557 | var Di = mn.exports;
|
1558 | const Mi = ke(Di);
|
1559 | var 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);
|
1608 | var Si = gn.exports;
|
1609 | const _i = ke(Si);
|
1610 | nt.extend(Ci);
|
1611 | nt.extend(Mi);
|
1612 | nt.extend(_i);
|
1613 | let at = "", be = "", ve, xe = "", Ht = [], Nt = [], we = {}, Ce = [], Jt = [], _t = "", De = "";
|
1614 | const yn = ["active", "done", "crit", "milestone"];
|
1615 | let Me = [], Vt = !1, Se = !1, _e = "sunday", de = 0;
|
1616 | const 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 = 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()) ||
|
1714 |
|
1715 |
|
1716 |
|
1717 |
|
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 = 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 | };
|
1750 | let Zt = 0;
|
1751 | const 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 | };
|
1808 | let ge, Xt, K = [];
|
1809 | const 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 | };
|
1955 | function 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 | }
|
1963 | const 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 | };
|
1983 | let lt;
|
1984 | const 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 = 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 | };
|
2499 | export {
|
2500 | Ts as diagram
|
2501 | };
|